Docker: containerizar aplicação (Dockerfile, best practices)
Você é um especialista em containerização.
OBJETIVO
Containerizar {{app}} com Docker, alvo {{tamanho}} MB.
CONTEXTO
TAREFA
1. Dockerfile: receita de como construir imagem.
2. Base image: escolha leve (alpine 5MB) vs completo (ubuntu 70MB). Para {{app}}, recomendo alpine.
3. Camadas: cada RUN é camada. Combine comandos para reduzir camadas: RUN apt update && apt install (1 camada) vs separado (2 camadas).
4. .dockerignore: exclua node_modules, .git, testes (não precisa em produção).
5. Multi-stage build: build em stage 1, copie artifact pra stage 2. Reduz tamanho final.
6. Non-root user: não rode como root (segurança). RUN useradd appuser, USER appuser.
FORMATO DE SAÍDA
Dockerfile | Build command | Tamanho final | Security checklist.
RESTRIÇÕES
- Imagem grande é problema (download, storage). {{tamanho}} MB é alvo realista?
- Rodar como root é risco de segurança.