Passei a manhã a organizar um guia completo para configurar ambientes Docker locais, e percebi como pequenos detalhes fazem toda a diferença. O ventilador do meu laptop zumbia constantemente enquanto testava diferentes configurações—um lembrete de que virtualização consome recursos reais.
A maior lição de hoje veio de um erro tolo: esqueci-me de adicionar um .dockerignore e o build demorou quase cinco minutos porque estava a copiar a pasta node_modules inteira. Quando percebi o problema, criei o ficheiro e o build passou para 30 segundos. Nunca subestimar os pequenos ficheiros de configuração.
Aqui está o checklist essencial que montei:
Antes de começar:
- [ ] Docker Desktop instalado e a correr
- [ ] Editor com extensão Docker (VS Code recomendado)
- [ ] Espaço em disco: mínimo 10GB livre
- [ ] Terminal configurado (bash, zsh, ou PowerShell)
Durante a configuração:
- [ ] Criar
Dockerfilecom imagem base apropriada - [ ] Adicionar
.dockerignore(incluir node_modules, .git, .env) - [ ] Definir
docker-compose.ymlpara serviços múltiplos - [ ] Testar build local antes de commit
- [ ] Documentar portas e variáveis de ambiente
Erro comum: Muita gente expõe todas as portas no docker-compose sem necessidade. Isto cria superfície de ataque desnecessária. Solução: Só expor portas que realmente precisas de aceder do host. Serviços internos podem comunicar pela rede Docker sem exposição externa.
Tive que decidir entre usar Alpine ou Ubuntu como imagem base. Alpine é mais leve (5MB vs 70MB), mas às vezes faltam bibliotecas. Para tutoriais de iniciantes, escolhi Ubuntu—menos troubleshooting, mais foco no que interessa.
Tarefa para hoje: Abre o teu projeto atual e cria um ficheiro .dockerignore. Adiciona estas três linhas mínimas: node_modules, .git, e .env. Faz commit. São 30 segundos que vão poupar minutos em cada build.
#docker #devops #tutorial #programação #produtividade