Multi Stage | Docker
- Multi Stage | Docker
Multi-stage no Docker é uma técnica usada no Dockerfile para criar imagens menores e mais seguras, dividindo o processo em múltiplas etapas (stages). Cada etapa pode usar uma imagem diferente, e só o que for necessário é copiado para a etapa final.
✅ Resumo rápido:
- Usa múltiplas imagens base em um único Dockerfile.
- Ideal para compilar em uma etapa (com ferramentas pesadas) e copiar só os binários para a etapa final.
- Reduz o tamanho da imagem final.
- Melhora a segurança (menos dependências no contêiner final).
🛠️ Exemplo: Aplicação Go
# Etapa 1: Build
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o meuapp
# Etapa 2: Imagem final
FROM debian:bullseye-slim
COPY --from=builder /app/meuapp /usr/local/bin/meuapp
ENTRYPOINT ["meuapp"]
🔍 Benefícios:
- A primeira etapa tem o Go + dependências de build.
- A segunda etapa (imagem final) tem apenas o binário, sem o Go instalado.
- Resultado: imagem pequena, leve e rápida.