docker · Docker
Le message
failed to register layer: Error processing tar file(exit status 1): no space left on device
Ce que cela veut dire
Il n'y a plus de place sur le disque pour déballer la couche d'image. En général le projet n'est pas gros : c'est Docker qui conserve encore des mois d'images anciennes, du cache de build et des volumes de conteneurs supprimés. docker system df montre ce que pèsent images, conteneurs, volumes et cache de build, et ce qui est récupérable : lisez-le avant de supprimer quoi que ce soit. docker system prune enlève les conteneurs arrêtés, les images orphelines, les réseaux inutilisés et le cache de build — le build suivant est nettement plus lent sans ce cache — et ajouter --volumes supprime en plus les volumes rattachés à aucun conteneur, c'est-à-dire précisément là où l'on perd ses bases de données.
Le correctif
docker system df- Émis par
- docker
- Docker
- 12
Les erreurs de Docker ne deviennent lisibles qu'une fois rangées par couche — le client qui n'atteint pas le démon, le registre qui refuse, un RUN qui échoue au build, un conteneur qui meurt dès son démarrage sont quatre problèmes distincts — et pour les couches build et exécution, la ligne n'est pas la raison : la raison est dans la sortie de la commande qui tournait à l'intérieur, tandis que le coût de chaque correctif varie aussi selon la couche.
Lire un message d’erreur
- Lisez à partir de la première ligne. Plus on descend, plus il s’agit des entrailles de l’outil ; la cause est généralement en haut.
- S’il y a un fichier et un numéro de ligne, commencez là — pas la première image de la pile, mais la ligne la plus haute qui nomme un fichier de vous.
- Cherchez le message tel quel, mais retirez d’abord vos chemins et vos noms de variables : c’est cela qui empêche la correspondance.
- La même situation se formule autrement selon la version de l’outil. Si les résultats sonnent faux, ajoutez le numéro de version.
- Avant de coller un correctif, vérifiez ce qu’il jette. Certains sont irréversibles.
Questions fréquentes
Q. Que veut dire « failed to register layer: Error processing tar file(exit status 1): no space left on device » ?
Il n'y a plus de place sur le disque pour déballer la couche d'image. En général le projet n'est pas gros : c'est Docker qui conserve encore des mois d'images anciennes, du cache de build et des volumes de conteneurs supprimés. docker system df montre ce que pèsent images, conteneurs, volumes et cache de build, et ce qui est récupérable : lisez-le avant de supprimer quoi que ce soit. docker system prune enlève les conteneurs arrêtés, les images orphelines, les réseaux inutilisés et le cache de build — le build suivant est nettement plus lent sans ce cache — et ajouter --volumes supprime en plus les volumes rattachés à aucun conteneur, c'est-à-dire précisément là où l'on perd ses bases de données.
Q. Comment le corriger ?
docker system df — avant de le lancer, vérifiez plus haut ce que cette commande jette.
Q. Quel outil émet cela ?
docker. Cela relève de Docker, et le message compte 15 mots.