Une image contient une application et toutes ses dépendances. Elle s'exécute à l'identique partout où un moteur de conteneurs est installé, ce qui rend les écarts entre environnements impossibles plutôt qu'improbables.
Les deux notions
Une image est un modèle immuable : bibliothèques, moteur d'exécution, fichiers de configuration.
Un conteneur est une instance en cours d'exécution d'une image, isolée du reste du système mais partageant son noyau.
La construction
Une image se décrit dans un fichier de recette et se construit par couches successives. Chaque instruction produit une couche, réutilisée telle quelle si elle n'a pas changé.
Objectif
Compter les couches d'une recette de cinq instructions, puis celles à reconstruire selon l'instruction modifiée.
Pièges
Modifier la première instruction invalide tout ce qui suit, puisque chaque couche est construite au-dessus de la précédente. C'est la raison pour laquelle on place en tête ce qui change le moins souvent, et à la fin le code de l'application.