Skip to content

Latest commit

 

History

History
81 lines (46 loc) · 5.27 KB

File metadata and controls

81 lines (46 loc) · 5.27 KB

DevContainers: Bem-vindo ao Futuro do Desenvolvimento

Então, você quer ser um desenvolvedor sério? Bem-vindo ao mundo dos DevContainers. Se você nunca usou antes, prepare-se para se surpreender (de uma boa maneira). Vamos mergulhar nisso.

O que são DevContainers?

DevContainers são basicamente a solução mágica de "funciona na minha máquina", mas de uma forma que realmente funciona. Eles permitem que você defina seu ambiente de desenvolvimento dentro de um container Docker, então nada mais de "funciona no meu laptop, mas não no seu".

Pense neles como o seu ambiente de trabalho completo em uma caixa — desde o sistema operacional até dependências, ferramentas e configurações — está tudo lá. E sim, isso significa que você pode alternar entre projetos ou compartilhar seu ambiente sem aquela dor de cabeça de instalar diferentes ferramentas.

Por que você deveria se importar?

  1. Consistência: Você tem o mesmo ambiente, não importa onde o execute.
  2. Portabilidade: Você pode enviá-lo, compartilhá-lo ou usá-lo em qualquer máquina que rode Docker.
  3. Isolamento: Cada projeto tem seu próprio sandbox. Nada de contaminação entre bibliotecas ou versões.
  4. Produtividade: Com tudo pré-configurado, você pode começar a codar imediatamente, sem tempo de configuração.

Agora que você sabe o básico, vamos para a parte divertida: rodar essas belezinhas no VS Code.

Como iniciar um DevContainer no VS Code

Vamos manter isso simples e eficiente, como você, certo? Siga esses passos:

Passo 1: Instale o Docker

Certifique-se de que você tem o Docker instalado na sua máquina. Se não, faça o download e instale. Confie em mim, é tranquilo (na maioria das vezes).

Passo 2: Instale a extensão Dev Containers

Se você usa o VS Code (e você deveria), vá em frente e instale a extensão Dev Containers do marketplace. Basta procurar por "Dev Containers" e clicar em instalar.

Passo 3: Abra a pasta em um DevContainer

Aqui vem a parte mágica:

  1. Abra a pasta do seu projeto no VS Code.
  2. Aperte Ctrl+Shift+P (ou Cmd+Shift+P no Mac) para abrir a Paleta de Comandos.
  3. Digite "Dev Containers: Reopen in Container" e pressione Enter.

O VS Code agora vai iniciar um container com base nas configurações da pasta .devcontainer do seu projeto. Pegue um café enquanto o Docker faz o seu trabalho.

Passo 4: Trabalhe dentro do DevContainer

Quando o container estiver pronto, você está pronto para começar a codar! Tudo rodará neste ambiente isolado, e você não precisará se preocupar em bagunçar sua configuração local. Seu terminal, extensões e código estão todos funcionando nessa caixinha bonita.

Passo 5: Personalizando seu DevContainer

Quer ajustar as coisas? Claro que sim. Procure a pasta .devcontainer no diretório do seu projeto. Lá, você encontrará arquivos de configuração como devcontainer.json e docker-compose.yaml, onde pode definir a imagem base do Docker, extensões, configurações e mais. Este é o seu playground. Divirta-se.

Passo 6: Explorando os Serviços

Nossa configuração do DevContainer inclui múltiplos serviços para tornar seu ambiente de desenvolvimento o mais próximo possível da produção:

  • Serviço Backend: Rodando NestJS, porque somos chiques assim.
  • Banco de Dados MySQL: Para todas as suas necessidades de dados relacionais.
  • Cache Redis: Cachear ou não cachear? Sempre cacheie.
  • Banco de Dados MongoDB: Quando NoSQL é a resposta certa (e muitas vezes é).

Todos esses serviços são definidos na pasta .devcontainer e são configurados automaticamente quando você abre o projeto no DevContainer. Fala sério, que conveniência!

Avançado: Persistindo dados entre containers

Uma pergunta comum: O que acontece com meus dados quando o container é desligado?

Boa notícia — o VS Code mantém seus arquivos do projeto seguros no seu computador, mas qualquer coisa instalada ou salva dentro do container (como logs, pacotes instalados, etc.) será perdida, a menos que você use volumes do Docker para persistir isso. Isso garante que você sempre comece com um ambiente limpo, mas se precisar de persistência, basta configurar isso no Docker. Não se preocupe, nosso docker-compose.yaml cuida disso definindo volumes para os dados do MySQL, Redis e MongoDB.

Solução de problemas

  • O container não inicia? Verifique se o Docker está rodando e se a configuração da pasta .devcontainer está correta.
  • Problemas de desempenho? Dê mais recursos ao Docker (CPU, memória) nas configurações.
  • Dependências faltando? Certifique-se de que seus arquivos .devcontainer incluem tudo o que você precisa — é aqui que você define o que está instalado no container.

Conclusão

Com DevContainers, você está entrando em um mundo onde os ambientes de desenvolvimento são consistentes, reproduzíveis e portáteis. Nada mais de desculpas como "funciona na minha máquina". Agora você tem uma ferramenta de nível profissional que mantém seu fluxo de trabalho suave e sua sanidade intacta.

Aproveite a jornada e bem-vindo ao futuro do desenvolvimento.


back