Junior — Middle
Dans quels cas est-il recommandé d'utiliser une construction Docker multi-étapes et comment cela aide-t-il à optimiser le processus?
sobes.tech IA
Réponse de l'IA
La construction multi-étapes de Docker est recommandée lorsque vous souhaitez créer une image compacte et optimisée, en séparant les étapes de construction et d'exécution de l'application. Par exemple, à la première étape, l'application est construite avec tous les outils et dépendances nécessaires, puis à la deuxième étape, une image minimale est créée, ne contenant que les artefacts compilés.
Cela permet de :
- réduire la taille de l'image finale en excluant les fichiers et outils de construction inutiles ;
- améliorer la sécurité, car il n'y a pas d'outils de développement dans l'image finale ;
- accélérer le déploiement et le lancement des conteneurs.
Exemple de Dockerfile avec construction multi-étapes :
# Étape de construction
FROM maven:3.8-jdk-11 AS builder
WORKDIR /app
COPY . .
RUN mvn clean package
# Étape d'exécution
FROM openjdk:11-jre-slim
WORKDIR /app
COPY --from=builder /app/target/myapp.jar ./
CMD ["java", "-jar", "myapp.jar"]