🛠️ 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 …


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:

🏗️ 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

  1. Abra o VS Code no diretório do projeto.
  2. Pressione Ctrl+Shift+P e busque por:
   Remote-Containers: Reopen in Container
  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"

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


This content originally appeared on DEV Community and was authored by Danilo O. Pinheiro, dopme.io


Print Share Comment Cite Upload Translate Updates
APA

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/

MLA
" » 🛠️ Como Configurar um Dev Container com .NET." Danilo O. Pinheiro, dopme.io | Sciencx - Friday August 8, 2025, https://www.scien.cx/2025/08/08/%f0%9f%9b%a0%ef%b8%8f-como-configurar-um-dev-container-com-net/
HARVARD
Danilo O. Pinheiro, dopme.io | Sciencx Friday August 8, 2025 » 🛠️ Como Configurar um Dev Container com .NET., viewed ,<https://www.scien.cx/2025/08/08/%f0%9f%9b%a0%ef%b8%8f-como-configurar-um-dev-container-com-net/>
VANCOUVER
Danilo O. Pinheiro, dopme.io | Sciencx - » 🛠️ Como Configurar um Dev Container com .NET. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/08/08/%f0%9f%9b%a0%ef%b8%8f-como-configurar-um-dev-container-com-net/
CHICAGO
" » 🛠️ Como Configurar um Dev Container com .NET." Danilo O. Pinheiro, dopme.io | Sciencx - Accessed . https://www.scien.cx/2025/08/08/%f0%9f%9b%a0%ef%b8%8f-como-configurar-um-dev-container-com-net/
IEEE
" » 🛠️ Como Configurar um Dev Container com .NET." Danilo O. Pinheiro, dopme.io | Sciencx [Online]. Available: https://www.scien.cx/2025/08/08/%f0%9f%9b%a0%ef%b8%8f-como-configurar-um-dev-container-com-net/. [Accessed: ]
rf:citation
» 🛠️ Como Configurar um Dev Container com .NET | Danilo O. Pinheiro, dopme.io | Sciencx | 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.

You must be logged in to translate posts. Please log in or register.