MLOps Academy · Leçon

Alléger les images avec des compilations en plusieurs étapes

Réduisez la taille de l’image en séparant les couches de compilation et d’exécution.

Leçon 2 sur 413 étapes

Alléger les images avec des compilations en plusieurs étapes est une leçon MLOps Academy gratuite sur CoddyKit. Ceci est la leçon 2 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 MLOps Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours MLOps Academy comprend 4 leçons au total.

Les grandes images pénalisent les performances

Une image surchargée est lente à envoyer, télécharger et démarrer, et elle contient davantage d'éléments à corriger. Les constructions en plusieurs étapes ne livrent que ce dont vous avez réellement besoin.

L'idée essentielle

Vous utilisez une étape pour construire, puis une seconde étape propre pour exécuter l'application. Les outils de construction restent en arrière-plan, ce qui permet de conserver une petite image finale.

Nommez une étape de construction

Ajoutez AS builder à une ligne FROM pour nommer une étape. Vous pourrez ensuite utiliser ce nom pour en extraire des fichiers.

FROM python:3.11 AS builder

Installez les dépendances dans l'étape de construction

Dans l'étape de construction, installez les dépendances dans un préfixe connu. L'option --user place tout proprement dans un seul dossier facile à copier.

RUN pip install --user --no-cache-dir -r requirements.txt

Démarrez l'étape d'exécution

Ouvrez une nouvelle étape légère contenant uniquement ce qui est réellement exécuté. Elle ne contient aucun compilateur ni cache nécessaire à la construction.

FROM python:3.11-slim

Ne copiez que les artefacts

Utilisez COPY --from=builder pour transférer uniquement les paquets installés dans l'étape d'exécution. La lourde couche de construction reste exclue.

COPY --from=builder /root/.local /root/.local

Ajoutez votre code

Copiez également le code source de votre application dans l'étape légère. L'image finale contient alors votre code et uniquement ses dépendances d'exécution.

COPY . /app

Corrigez le chemin

Les paquets installés par l'utilisateur se trouvent sous .local : ajoutez donc ce dossier à PATH. Sinon, l'environnement d'exécution ne trouvera pas les commandes installées.

ENV PATH=/root/.local/bin:$PATH

Seule la dernière étape est livrée

Docker ne conserve que la dernière étape dans votre image. Tout ce qui se trouve dans les étapes précédentes est supprimé, sauf si vous le copiez explicitement.

Essayez Distroless

Pour obtenir le résultat le plus petit et le plus sûr possible, utilisez une base distroless, sans interpréteur de commandes ni gestionnaire de paquets. Une surface réduite offre moins de possibilités d'exploitation.

Mesurez le gain

Vérifiez la réduction de taille avec docker images. Passer de plus d'un gigaoctet à quelques centaines de mégaoctets est courant et en vaut la peine.

docker images model-api

Vérification rapide

Vérifions ce que conserve une construction en plusieurs étapes.

Récapitulatif

Vous avez séparé la construction de l'exécution, copié uniquement les artefacts avec COPY --from, corrigé PATH et réduit l'image. Légère et rapide. ✅

Gratuit pour commencer

Apprends Python avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
30
Leçons
120

Questions Fréquemment Posées

La leçon « Alléger les images avec des compilations en plusieurs étapes » est-elle gratuite ?

Oui — le texte complet de « Alléger les images avec des compilations en plusieurs étapes » 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 MLOps Academy, passe à CoddyKit PRO. Le cours MLOps Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Alléger les images avec des compilations en plusieurs étapes » ?

Réduisez la taille de l’image en séparant les couches de compilation et d’exécution. Tu pratiques MLOps Academy 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 MLOps Academy ?

Aucune expérience préalable n'est requise. MLOps Academy 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 2 sur 4.

Combien de temps prend la leçon « Alléger les images avec des compilations en plusieurs étapes » ?

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 MLOps Academy ?

Oui. Chaque leçon MLOps Academy 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. Écrire un Dockerfile pour une API de modèle
  2. Alléger les images avec des compilations en plusieurs étapes
  3. Transmettre la configuration via des variables d’environnement
  4. Exécuter et tester le conteneur localement
← Retour à MLOps Academy