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.
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 builderInstallez 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.txtDé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-slimNe 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/.localAjoutez 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 . /appCorrigez 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:$PATHSeule 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-apiVé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. ✅
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
- Écrire un Dockerfile pour une API de modèle
- Alléger les images avec des compilations en plusieurs étapes
- Transmettre la configuration via des variables d’environnement
- Exécuter et tester le conteneur localement