DOCKER - 4 7 Lancement de build Docker

Les images Docker ne sont pas des blocs monolithiques, mais des empilement de couches (layers). Chaque instruction du Dockerfile crée une nouvelle couche sur celle précédente. Docker utilise un système d'union de fichiers (Union File System) qui présente ces modifications comme un seul système de fichiers cohérent. Cette architecture en couches permet l'économie d'espace : chaque couche n'est stockée qu'une seule fois sur le disque, et plusieurs images peuvent partager les mêmes couches.

Inspecter les couches avec docker history

docker history nom-image affiche l'historique de toutes les couches d'une image, du plus bas (couche vierge de base) au plus haut (dernière modification). Chaque ligne représente une couche et affiche sa taille, son ID et la commande qui l'a créée. Certaines modifications peuvent être purement métadonnées (changement de commande par défaut, de variables d'environnement) et affichent une taille de 0 ou "". Cet historique est invaluable pour comprendre comment une image a été construite.

Inspecter les métadonnées avec docker inspect

docker inspect nom-image retourne un JSON détaillé avec toutes les métadonnées de l'image : ID, tags, variables d'environnement, commande par défaut, ports exposés, architecture, etc. Quand vous lancez un conteneur, il crée simplement une couche de modification supplémentaire au-dessus de l'image. Cette couche est généralement très petite, ce qui rend les conteneurs légers et rapides à démarrer.