Desenvolvendo com Visual Studio Code em um contêiner remoto

Desenvolvendo com Visual Studio Code em um contêiner remoto

Estou tentando configurar um ambiente de desenvolvimento baseado no Visual Studio Code. O objetivo é escrever e depurar código Python que é executado em um contêiner Docker remoto.

Isto é o que eu fiz: instalei o Visual Studio Code Insiders, a extensão Python e a extensão Remote Development (3 extensões em 1), configurei o SSH no computador remoto (que roda Linux e do qual sou sudoer) e o meu (que executa o Windows). Agora posso me conectar a este computador remoto via SSH e executar código Python nele. Esses recursos já são incríveis, mas preciso de mais.

Nesta máquina remota há um serviço Docker em execução, e eu gostaria de poder executar o código Python com o interpretador Python dentro de algum contêiner Docker, não com o interpretador Python do computador remoto. Então baixei a extensão Docker não no meu computador, mas no computador remoto (proposto pelo Visual Studio Code) e alterei o arquivo settings.json para:

{
    "remote.extensionKind": {
        "peterjausovec.vscode-docker": "workspace"
    }
}

de acordo com o que está ditoaqui, seção Limitações da extensão Docker. Então, depois de clicar no botão Docker à esquerda, posso ver uma lista de todos os contêineres em execução no computador remoto, o que é realmente ótimo.

Mas quando tento anexar o Visual Studio Code a um desses contêineres, ele não consegue encontrar o daemon do Docker. Depois de ler a documentação do daemon Dockeraqui, reiniciei o daemon do Docker com a opção -H tcp://0.0.0.0:22ou -H tcp://0.0.0.0:2375para que o daemon pudesse ouvir solicitações feitas remotamente do meu computador. O primeiro não funcionou (o daemon não iniciou), o segundo funciona (o daemon inicia). No entanto, ainda não consigo anexar o Visual Studio Code ao meu contêiner (o Visual Studio Code ainda não consegue encontrar o daemon).

Qualquer ajuda seria muito apreciada!

Responder1

O problema é que eu tinha uma versão antiga do Docker, precisava da versão 18.09 para habilitar a comunicação SSH com o daemon do Docker.

informação relacionada