0Pricing
Docker & DevOps Fundamentals · Leçon

Constructions en plusieurs étapes et images plus légères

Apprenez comment les Dockerfiles en plusieurs étapes permettent de publier des images de production légères en séparant les outils de construction de l’environnement d’exécution final, ce qui réduit considérablement la taille de l’image.

Constructions en plusieurs étapes et images plus légères est une leçon Docker & DevOps Fundamentals gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Docker & DevOps Fundamentals, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Docker & DevOps Fundamentals comprend 4 leçons au total.

Pourquoi la taille de l'image est importante

Les grandes images sont lentes à construire, à envoyer et à récupérer, et elles offrent une surface d'attaque plus importante. Un bon objectif d'ingénierie consiste à fournir la plus petite image capable d'exécuter votre application.

Le problème de l'encombrement

La création d'une application nécessite souvent des compilateurs, des dépendances de développement et des outils de construction. S'ils se retrouvent dans l'image finale, sa taille augmente considérablement, alors même que l'application en cours d'exécution n'en a besoin d'aucun.

Qu'est-ce qu'une construction à plusieurs étapes ?

Une construction à plusieurs étapes utilise plusieurs instructions FROM dans un même Dockerfile. Les premières étapes construisent l'application ; l'étape finale ne copie que les artefacts terminés et laisse de côté les outils de construction.

Nommer une étape

Donnez un nom à une étape avec AS afin que les étapes suivantes puissent y faire référence.

FROM node:20 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci

Construire lors de la première étape

L'étape de construction compile ou regroupe votre application. Toutes les dépendances et tous les outils de développement y sont disponibles.

COPY . .
RUN npm run build

Une étape finale légère

Commencez l'étape finale à partir d'une image de base minimale, puis copiez uniquement ce dont l'application a besoin pour s'exécuter avec COPY --from.

FROM node:20-slim
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules

Dockerfile complet à plusieurs étapes

La combinaison des étapes produit une petite image finale qui contient l'application construite, mais aucun élément de la chaîne d'outils de construction.

FROM node:20 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM node:20-slim
WORKDIR /app
COPY --from=builder /app/dist ./dist
CMD ['node', 'dist/main.js']

Choisir une petite image de base

L'image de base est souvent le facteur le plus important. Les variantes Slim et Alpine réduisent considérablement la taille des images :

  • node:20 ~ grande
  • node:20-slim ~ beaucoup plus petite
  • node:20-alpine ~ la plus petite, avec un minimum de bibliothèques

Dépendances réservées à la production

N'incluez pas les dépendances de développement dans l'image d'exécution. L'installation avec l'indicateur de production exclut les paquets de test et de construction.

RUN npm ci --omit=dev

Utiliser .dockerignore

Un fichier .dockerignore exclut les éléments inutiles du contexte de construction, accélère les constructions et évite de copier accidentellement des secrets ou de très grands dossiers.

node_modules
.git
.env
Dockerfile
*.log

Mesurer le résultat

Vérifiez votre travail en contrôlant la taille des images. Une image bien construite à plusieurs étapes peut ne représenter qu'une fraction de la taille d'une image naïve construite en une seule étape.

docker images myapp

Vérification rapide

Testez vos connaissances sur les constructions à plusieurs étapes.

Récapitulatif

Vous avez appris à fournir des images Docker légères :

  • Les constructions à plusieurs étapes utilisent plusieurs étapes FROM dans un même Dockerfile
  • Construisez lors d'une première étape, puis utilisez COPY --from pour ne copier que les artefacts dans une étape finale légère
  • Choisissez de petites images de base (slim/alpine) et installez uniquement les dépendances de production
  • Utilisez .dockerignore pour réduire le contexte de construction

Les images plus petites se construisent plus rapidement, se déploient plus vite et sont plus sécurisées.

Questions Fréquemment Posées

La leçon « Constructions en plusieurs étapes et images plus légères » est-elle gratuite ?

Oui — le texte complet de « Constructions en plusieurs étapes et images plus légères » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Docker & DevOps Fundamentals, passe à CoddyKit PRO. Le cours Docker & DevOps Fundamentals comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Constructions en plusieurs étapes et images plus légères » ?

Apprenez comment les Dockerfiles en plusieurs étapes permettent de publier des images de production légères en séparant les outils de construction de l’environnement d’exécution final, ce qui réduit… Tu pratiques Docker & DevOps Fundamentals avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Docker & DevOps Fundamentals ?

Aucune expérience préalable n'est requise. Docker & DevOps Fundamentals sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Constructions en plusieurs étapes et images plus légères » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Docker & DevOps Fundamentals ?

Oui. Chaque leçon Docker & DevOps Fundamentals inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Comprendre les Dockerfiles
  2. Créer des images Docker personnalisées
  3. Couches d’images et optimisation
  4. Constructions en plusieurs étapes et images plus légères
← Retour à Docker & DevOps Fundamentals