This content originally appeared on DEV Community and was authored by Danilo O. Pinheiro, dopme.io
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+P
e 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:
- ✍️ 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
This content originally appeared on DEV Community and was authored by Danilo O. Pinheiro, dopme.io

Danilo O. Pinheiro, dopme.io | Sciencx (2025-08-08T14:36:29+00:00) 🛠️ Como Configurar um Dev Container com .NET. Retrieved from https://www.scien.cx/2025/08/08/%f0%9f%9b%a0%ef%b8%8f-como-configurar-um-dev-container-com-net/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.