Configurar contentores de desenvolvimento no Windows

Um Dev Container permite-lhe usar um container Docker como um ambiente de desenvolvimento completo, definido por um devcontainer.json ficheiro registado no seu repositório. Todos os que abrem o projeto recebem as mesmas ferramentas, extensões e definições — independentemente do que esteja instalado na sua máquina local.

Esta página cobre a configuração específica do Windows. Para uma introdução completa ao que são os Dev Containers e como funcionam, consulte a documentação Dev Containers no site do VS Code.

Pré-requisitos

Os Dev Containers no Windows requerem:

  • WSL 2 — Subsistema Windows para Linux, versão 2. Instala o WSL se ainda não o fizeste.
  • Docker Desktop para Windows com o backend do WSL 2 ativado. Descarregue o Docker Desktop e siga o instalador. Durante a configuração, certifique-se de que o Usar o motor baseado em WSL 2 está selecionado nas definições do Docker Desktop (Definições>Gerais).
  • Visual Studio CodeDownload VS Code.
  • Extensão Dev Containers — Instale a extensão Dev Containers a partir do VS Code Marketplace.

Onde guardas os teus ficheiros é importante

Importante

No Windows, o desempenho do Dev Container depende muito de onde os ficheiros do teu projeto estão localizados. Guarde o seu projeto no sistema de ficheiros WSL 2 (por exemplo, /home/yourname/projects/), e não no sistema de ficheiros Windows (por exemplo, C:\Users\yourname\projects\).

Quando os seus ficheiros estão no sistema de ficheiros Windows (C:\), o Docker acede-os através de uma partilha de ficheiros entre sistemas operativos, que é significativamente mais lenta. Quando os seus ficheiros estão no sistema de ficheiros WSL 2, o Docker usa I/O Linux nativo e o desempenho é substancialmente melhor — especialmente para compilações e ferramentas de visualização de ficheiros.

Para clonar no sistema de ficheiros WSL 2, abra a sua distribuição WSL (por exemplo, Ubuntu) a partir do menu Iniciar ou do Terminal do Windows, e clone aí:

cd ~
mkdir projects && cd projects
git clone https://github.com/your-org/your-repo.git

Depois abre essa pasta no VS Code a partir do WSL:

code your-repo

O VS Code liga-se ao WSL e deteta o devcontainer.json caso exista um.

Abrir um projeto num Contentor de Desenvolvimento

Assim que o seu projeto estiver aberto em VS Code (ligado ao WSL):

  1. Prima F1 e selecione Dev Containers: Reabrir no Container.
  2. O VS Code constrói a imagem do contentor definida em .devcontainer/devcontainer.json (ou pede-te para adicionar uma se não existir).
  3. Quando a compilação está concluída, o VS Code religa-se dentro do contentor com todas as ferramentas e extensões configuradas disponíveis.

Para regressar ao seu ambiente local, pressione F1 e selecione Dev Containers: Reabrir a Pasta Localmente.

Adicionar um Contentor de Desenvolvimento a um projeto existente

Se o seu projeto ainda não tiver um componente devcontainer.json:

  1. Prima F1 e seleciona Dev Containers: Adicionar ficheiros de configuração de contêiner de desenvolvimento.
  2. Escolha uma imagem base (por exemplo, Node.js, Python ou uma imagem genérica do Debian/Ubuntu).
  3. O VS Code cria um .devcontainer/devcontainer.json ficheiro que podes consultar no controlo de versão.

Para a referência completa das opções devcontainer.json, veja a referência devcontainer.json no site da Dev Container Specification.

Troubleshooting

Container inicia, mas as alterações no ficheiro não são detetadas O seu projeto provavelmente está armazenado no sistema de ficheiros Windows. Muda-o para o WSL (veja Onde guarda os seus ficheiros importa acima).

O Docker Desktop não arranca ou falta a integração com WSL Abra o Docker Desktop, vá a Definições>> Recursos deintegração WSL e ative a integração para as suas distribuições WSL instaladas.

O VS Code não consegue ligar-se ao contentor Certifique-se de que o Docker Desktop está a correr antes de abrir o VS Code. Verifica o ícone da bandeja do sistema do Docker Desktop.

Passos seguintes