Senior
Quelles pratiques existent-elles pour réduire la taille de l'image Docker?
sobes.tech IA
Réponse de l'IA
Pour réduire la taille de l'image Docker, plusieurs pratiques sont appliquées :
- Utilisation d'images de base minimalistes, par exemple,
alpineau lieu deubuntu. - Construction multi-étapes (multi-stage builds), où dans les premières étapes, l'application est construite, et dans l'image finale, seul le runtime minimal avec le binaire compilé reste.
- Nettoyage des caches et fichiers temporaires après l'installation des dépendances dans le Dockerfile.
- Fusion des commandes RUN pour réduire le nombre de couches.
- Utilisation de
.dockerignorepour exclure les fichiers inutiles du contexte de build.
Exemple de Dockerfile multi-étapes pour Go :
# Étape 1 : Build
FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Étape 2 : Runtime minimal
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]
Cette approche permet d'obtenir une image compacte avec un ensemble minimal de fichiers.