DEV Community

Cover image for 🛠️ Como Configurar um Dev Container com .NET

🛠️ Como Configurar um Dev Container com .NET

O Dev Container (ou Development Container) é um recurso poderoso do Visual Studio Code que permite configurar um ambiente de desenvolvimento padronizado e isolado usando Docker.
Ele garante que toda a equipe use a mesma configuração, evitando o famoso “na minha máquina funciona”.

Neste artigo, vamos criar um Dev Container para aplicações .NET do zero.


📖 Pré-requisitos

Antes de começar, instale:


🏗️ Criando o Projeto .NET

Vamos criar um exemplo simples com API mínima:

dotnet new webapi -n MinhaApiDevContainer cd MinhaApiDevContainer 
Enter fullscreen mode Exit fullscreen mode

📂 Estrutura do Dev Container

Na raiz do projeto, crie a pasta .devcontainer com dois arquivos:

.devcontainer/ ├── devcontainer.json └── Dockerfile 
Enter fullscreen mode Exit fullscreen mode

📄 Arquivo devcontainer.json

{ "name": "DevContainer .NET 8", "dockerFile": "Dockerfile", "appPort": [5000, 5001], "postCreateCommand": "dotnet restore", "settings": { "terminal.integrated.defaultProfile.linux": "bash" }, "extensions": [ "ms-dotnettools.csharp", "ms-vscode.vscode-typescript-next", "eamodio.gitlens", "ms-azuretools.vscode-docker" ], "remoteUser": "vscode" } 
Enter fullscreen mode Exit fullscreen mode

🔍 Explicando:

  • name: nome do container.
  • dockerFile: aponta para o Dockerfile personalizado.
  • appPort: portas que serão expostas no container.
  • postCreateCommand: comando executado após o container iniciar.
  • extensions: lista de extensões do VS Code que serão instaladas automaticamente.
  • remoteUser: usuário padrão dentro do container.

📄 Arquivo Dockerfile

FROM mcr.microsoft.com/dotnet/sdk:8.0 # Usuário padrão para VS Code ARG USERNAME=vscode ARG USER_UID=1000 ARG USER_GID=$USER_UID # Instala pacotes necessários RUN apt-get update && apt-get install -y \  git \  curl \  wget \  unzip \  && rm -rf /var/lib/apt/lists/* # Cria usuário não-root RUN groupadd --gid $USER_GID $USERNAME \  && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME USER $USERNAME WORKDIR /workspace 
Enter fullscreen mode Exit fullscreen mode

🚀 Iniciando o Dev Container

  1. Abra o VS Code no diretório do projeto.
  2. Pressione Ctrl+Shift+P e busque por:
 Remote-Containers: Reopen in Container 
Enter fullscreen mode Exit fullscreen mode
  1. O VS Code irá:
  • Criar a imagem Docker baseada no Dockerfile
  • Subir o container
  • Instalar as extensões configuradas
  • Restaurar pacotes do projeto

🧪 Testando a Aplicação

Dentro do terminal do Dev Container:

dotnet run --urls "http://0.0.0.0:5000" 
Enter fullscreen mode Exit fullscreen mode

Acesse no navegador:
http://localhost:5000/swagger


📌 Vantagens de usar Dev Container no .NET

  • Padronização do ambiente entre todos os desenvolvedores.
  • Isolamento total das dependências.
  • Integração nativa com Docker.
  • Facilita onboarding de novos devs.
  • Compatível com GitHub Codespaces.

📤 Usando no GitHub Codespaces

Basta subir a pasta .devcontainer para o repositório.
Ao abrir no Codespaces, ele já carregará o mesmo ambiente, pronto para uso.


🧠 Boas Práticas

  • Sempre use multi-stage builds no Dockerfile se for preparar para produção.
  • Atualize o SDK para versões mais recentes (mcr.microsoft.com/dotnet/sdk).
  • Adicione apenas extensões essenciais no devcontainer.json.
  • Se o projeto tiver dependências externas (SQL, Redis, etc.), configure no docker-compose.yml.

✅ Conclusão

O Dev Container com .NET é ideal para quem busca produtividade, consistência e portabilidade no desenvolvimento.
Ele elimina problemas de ambiente e prepara sua equipe para trabalhar com Docker e CI/CD desde o início.


🤝 Conecte-se Comigo

Se você trabalha com .NET moderno e quer dominar arquitetura, C#, DevOps ou interoperabilidade, vamos conversar:


De uma mesma boca procede bênção e maldição. Meus irmãos, não convém que isto se faça assim.
Tiago 3:10

Top comments (0)