Multi-stage Build
DevOps 🟡 MidDefinition
Technique Dockerfile utilisant plusieurs FROM pour séparer build et runtime. L'image finale ne contient que les artefacts nécessaires.
Analogie
Construire un meuble en atelier puis ne livrer que le meuble fini, pas les outils ni les copeaux.
Exemple de code
FROM node:20 AS build
WORKDIR /app
COPY . .
RUN npm ci && npm run build
FROM node:20-alpine
COPY --from=build /app/dist ./dist
CMD ["node", "dist/server.js"]
Cas d'usage
Réduire la taille des images de production de 1 Go à moins de 100 Mo.
Anti-pattern
Inclure les devDependencies et le code source dans l'image finale.