5 votes

aide au nettoyage de var/lib/docker

J'ai fait des erreurs avec Docker sur Ubuntu 18.04 et maintenant je n'ai presque plus d'espace sur mon disque.

  • J'ai essayé de déplacer var/lib/docker dans /home et de faire un lien symbolique dans afin d'utiliser certaines images lourdes (nvidia tlt et nvidia digits), puisque j'ai /home sur une autre partition.
  • Lorsque les choses n'ont pas fonctionné, j'ai supprimé le lien et replacé le dossier dans le répertoire de l'entreprise. là où il doit être.
  • Il me semble que lorsque j'ai testé si cela fonctionnait, juste avant de déplacer le dossier à nouveau, ubuntu a recréé le dossier, et quand j'ai fait le déplacement, les choses étaient étrangement fusionnées.

Le problème maintenant est de savoir ce qu'il faut faire pour que les choses reviennent à la normale (en espérant ne pas réinstaller ubuntu). J'espère qu'il y a des fichiers redondants qui peuvent simplement être supprimés.

J'avais d'autres images qui ne s'affichent plus avec sudo docker images mais je ne les ai pas supprimés non plus. Il en va de même pour certains conteneurs

Quand j'exécute sudo tree var/lib/docker > tree.txt Je reçois Cette sortie (qui fait 26,7 MB, ridiculement gros, n'est-ce pas ?)


Je viens de vérifier et la taille de ce dossier est de 24GB. L'image tlt est de 7, je suppose que le conteneur pourrait être le même, il y a encore presque 10 Go (25% du disque racine) d'espace récupérable.

Toute aide serait vraiment appréciée. Merci.


Ce site est l'arbre après la réponse de @Giorgos Saridakis, maintenant sa taille est de 20.2 MB

3voto

b1nch0 Points 76
  • faire service docker stop avant de déplacer le dossier
  • si vous placez /var/lib/docker ailleurs, utilisez un fichier lier monter, par exemple mount -o bind /external/disk/docker /var/lib/docker Vous pouvez également "protéger" le dossier contre l'écriture de fichiers avant le montage avec la commande chattr +i /Var/lib/docker
  • il est toujours préférable de redémarrer votre conteneur à partir d'un fichier de composition ou de docker pull l'image, puisque vous avez peut-être endommagé la superposition avec les étapes décrites.
  • la taille du dossier provient également de l'implémentation des systèmes de fichiers de docker, alors que le système de fichiers est tiré en tant qu'archive et ensuite extrait.
  • 7GB est peu probable pour une image docker.
  • si vous avez une grande quantité de cache de construction / images suspendues / conteneurs arrêtés docker system prune -a est votre ami

0voto

JPabloFuenzalida Points 143

J'ai pris un risque et j'ai résolu le problème. J'utilise la commande sudo tree --du -h /var/lib/docker > tree.txt pour voir la taille des dossiers et j'ai découvert que j'avais un autre dossier 'docker' à l'intérieur. /var/lib/docker/volumes qui était de 6.8 GB et avait la même distribution que /var/lib/doclker . Après avoir vérifié qu'un ami ne l'avait pas, j'ai pris le risque et fait ce qui suit.

  • sudo docker stop
  • sudo mv /var/lib/docker/volumes/docker /path/to/an/external/drives/folder
  • sudo docker start

Cela a fonctionné sans problème et après un redémarrage, tout était en ordre, je peux exécuter l'image tlt comme d'habitude. Merci à tous pour votre aide, je sais que j'ai été imprudent, mais je me préparais aussi à formater mon disque de toute façon, donc je n'avais rien à perdre (Si vous, futur lecteur, voyez ceci, soyez plus prudent que moi). Merci encore !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X