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:
- Visual Studio Code
- Docker Desktop
- ExtensĂŁo Remote - Containers no VS Code
(
ms-vscode-remote.remote-containers)
🏗️ Criando o Projeto .NET
Vamos criar um exemplo simples com API mĂnima:
dotnet new webapi -n MinhaApiDevContainer
cd MinhaApiDevContainer
đź“‚ Estrutura do Dev Container
Na raiz do projeto, crie a pasta .devcontainer com dois arquivos:
.devcontainer/
├── devcontainer.json
└── Dockerfile
đź“„ 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"
}
🔍 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
🚀 Iniciando o Dev Container
- Abra o VS Code no diretĂłrio do projeto.
- Pressione
Ctrl+Shift+Pe busque por:
Remote-Containers: Reopen in Container
- 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"
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:
- đź’Ľ LinkedIn
- ✍️ Medium
- 📬 contato@dopme.io
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)