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,
alpineem vez deubuntuoudebian. - 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.