Layers et cache de build
Chaque instruction d'un Dockerfile crée une layer (couche). Docker enregistre les layers dans un cache, et réutilise une layer déjà construite seulement si elle-même et tout ce qui est au-dessus n'ont pas changé. L'ordre compte donc : range les instructions du moins changeant au plus changeant, copi
Imagine une pile de feuilles transparentes, empilées les unes sur les autres. Si tu modifies une feuille proche du sommet de la pile, toutes les feuilles au-dessus sont réimprimées — mais les feuilles en dessous restent exactement comme elles étaient.
- couche
- Le résultat d'une seule instruction d'un Dockerfile — une modification différentielle du système de fichiers empilée par-dessus les couches précédentes et enregistrée dans le cache.
- cache de build
- L'ensemble des couches enregistrées lors d'une construction précédente ; Docker les réutilise pour sauter les instructions inchangées et raccourcir le temps de build.
- invalidation du cache
- Le moment où l'entrée d'une instruction change (par exemple un fichier qu'elle copie), ce qui force cette instruction et toutes celles qui la suivent à s'exécuter à nouveau au lieu d'être récupérées du cache.