kubenow
Se connecterCommencer gratuitement

C.2 · Construire et distribuer des images

Construire des images efficaces : multi-étapes, cache, taille

Lab sur une machine Linux · questionnaire de validation · gratuit, dans le navigateur

Pour compiler une application, il faut un compilateur, des bibliothèques, des outils de test : plusieurs centaines de mégaoctets. Pour la faire tourner, il suffit souvent du binaire. La construction en plusieurs étapes (multi-stage build) sépare les deux dans un seul Dockerfile : une étape lourde qui compile, une image finale minuscule qui ne contient que le résultat. Moins de taille, moins de vulnérabilités, rien d'utile à un attaquant.

Ce que vous saurez à la fin : écrire un Dockerfile multi-étapes, choisir une image finale minimale (distroless, scratch), tirer parti du cache de construction, et vérifier la taille et le contenu d'une image.

Au programme de ce lab

  1. Votre mission
  2. Pas à pas
  3. Le problème
  4. Deux étapes
  5. Choisir l'image finale
  6. Le cache de construction
  7. Vérifier le résultat

Ce que KubeNow vérifie

  • Deux étapes : la première, nommée build, part d'une image golang
  • Le binaire est compilé en statique (CGO_ENABLED=0)
  • L'image finale part de gcr.io/distroless/static-debian12:nonroot
  • L'étape finale ne copie que le binaire, depuis l'étape build
  • Utilisateur non root et ENTRYPOINT en forme exec
  • .dockerignore exclut .git et .env

Contenu aligné sur les programmes publiés par la CNCF (KCNA, CKAD, CKA, CKS), par le Linux Professional Institute (LPIC-1) et par Cisco (CCNA 200-301). KubeNow n'est ni affilié ni approuvé par la CNCF, la Linux Foundation, le LPI ou Cisco ; CKA, CKAD, CKS et KCNA sont des marques de la Linux Foundation, LPIC-1 est une marque du Linux Professional Institute, Cisco et CCNA sont des marques de Cisco Systems.