Sobes.tech
Junior — Middle

Que abordagens permitem reduzir o tamanho da imagem Docker final?

sobes.tech IA

Resposta da IA

Para reduzir o tamanho da imagem final do Docker, aplicam-se as seguintes abordagens:

  • Utilização de imagens base minimalistas: por exemplo, alpine em vez de ubuntu ou debian.
  • Construção em múltiplas etapas (multi-stage builds): permite construir a aplicação numa imagem e copiar apenas os artefactos necessários para a imagem final.
  • Remoção de ficheiros temporários e caches: limpar os pacotes, caches de gestores de pacotes, ficheiros temporários após a instalação.
  • Combinar comandos RUN: reduz o número de camadas na imagem.
  • Utilização de .dockerignore: exclui ficheiros desnecessários do contexto de construção.

Exemplo de construção em múltiplas etapas:

FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

FROM alpine
COPY --from=builder /app/myapp /myapp
CMD ["/myapp"]

Este método permite obter uma imagem compacta com apenas o necessário para executar a aplicação.