Leçon 25 : Approfondissement sur Docker Ignore et le Contexte de Construction
Lorsque vous exécutez docker build ., le client Docker emballe tout le contenu du répertoire actuel (le contexte de construction) et l'envoie au démon Docker. Ce transfert se produit même si le démon s'exécute localement, ce qui peut être lent si le contexte est volumineux.
Contrôler le Contexte de Construction avec .dockerignore
Le fichier .dockerignore fonctionne de manière similaire à .gitignore. Il liste les fichiers et répertoires qui doivent être exclus du contexte de construction envoyé au démon.
Avantages d'un bon .dockerignore :
- Vitesse : Transfert plus rapide du contexte, surtout via une connexion à distance.
- Efficacité : Empêche les fichiers volumineux et inutiles (comme des gigaoctets de logs ou des caches temporaires) de prendre de l'espace dans les couches d'image.
- Sécurité : Empêche la copie accidentelle de fichiers sensibles (comme des clés API ou des configurations locales) dans l'image.
Exemples Essentiels de .dockerignore
Dépendances et sortie compilée
**/node_modules pycache/ target/
Contrôle de source et métadonnées
.git .gitignore .vscode
Logs et fichiers temporaires
*.log tmp/
Dépannage des Problèmes de Contexte de Construction
Si vous obtenez une erreur indiquant qu'un fichier spécifié dans COPY est introuvable, vérifiez deux emplacements :
- Le Dockerfile : Le chemin est-il correct par rapport au Dockerfile ?
- Le
.dockerignore: Le fichier est-il accidentellement ignoré ? Si c'est le cas, il ne fera pas partie du contexte envoyé au démon, et Docker ne pourra pas le copier.