Qu'est-ce que la construction multi-étapes dans Docker?
sobes.tech IA
Réponse de l'IA
La construction multi-étapes dans Docker est une technique permettant de créer plusieurs étapes de build dans un seul Dockerfile, où chaque étape peut utiliser sa propre image de base. L'idée principale est de séparer les étapes de build (par exemple, compilation, installation des dépendances) de l'image finale, afin que dans le conteneur final ne soient présents que les fichiers nécessaires au lancement de l'application, sans outils ni artefacts superflus.
Cela réduit considérablement la taille de l'image finale et augmente la sécurité, car il n'y a pas d'outils de build dans le conteneur final.
Exemple de Dockerfile avec build multi-étapes :
# Étape de build
FROM node:18 AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
RUN npm run build
# Étape finale
FROM nginx:alpine
COPY --from=builder /app/build /usr/share/nginx/html
Ici, la construction de l'application React se fait d'abord, puis seuls les fichiers statiques prêts sont copiés dans une image nginx légère.