Dockerfile mal escrito gera imagens gigantes e inseguras. Aprenda técnicas que reduzem tamanho em 90% e melhoram performance drasticamente.
Carregando
Dockerfile mal escrito gera imagens gigantes e inseguras. Aprenda técnicas que reduzem tamanho em 90% e melhoram performance drasticamente.
Dockerfile mal escrito gera imagens gigantes e inseguras. Aprenda técnicas que reduzem tamanho em 90% e melhoram performance drasticamente.
Cada instrução cria layer. Docker cacheia layers inalteradas. Ordene instruções: menos mutáveis primeiro. COPY package.json antes de COPY código.
Múltiplos FROM no mesmo Dockerfile. Stage de build (com dev deps) e stage final (só runtime). Copia artefatos entre stages. Reduz tamanho drasticamente.
Alpine (5MB) vs Ubuntu (80MB). Node:18-alpine ideal. Distroless para segurança máxima. Evite tags latest, fixe versão específica.
Exclui arquivos do build context. node_modules, .git, tests não vão pra imagem. Build fica mais rápido, imagem menor.
• Use npm ci ao invés de npm install
• Não instale devDependencies em produção
• COPY package.json separado para cache de deps
• Use HEALTHCHECK para monitoramento
• Minimize número de layers (combine RUNs)
• Scan imagens com Trivy ou Snyk
• COPY . . logo no início (quebra cache)
• Rodar como root (user 0)
• Usar latest tag
• Incluir secrets no Dockerfile
• Não limpar cache de package managers
Quando usar cada um