55 votes

Comment nettoyer Docker

Je viens de remarqué que j'ai couru hors de l'espace disque sur mon ordinateur portable. Beaucoup de choses est utilisé par Docker comme l'ont constaté mate-disk-usage-analyzer:

Enter image description here

L' docker/aufs/diff le dossier contient 152 dossiers se terminant en -removing.

J'ai déjà couru les commandes suivantes pour nettoyer

Kill all running containers:
# docker kill $(docker ps -q)

Delete all stopped containers
# docker rm $(docker ps -a -q)

Delete all images
# docker rmi $(docker images -q)

Remove unused data
# docker system prune

And some more
# docker system prune -af

Mais la capture d'écran a été prise après j'ai exécuté les commandes.

Qu'est - docker/aufs/diff, pourquoi faut-il consommer beaucoup d'espace, et comment puis-je le nettoyer?

J'ai Docker version 17.06.1-ce, construire 874a737. Il est arrivé après un nettoyage, donc ce n'est certainement toujours un problème.

43voto

moose Points 4945

La suite est une solution radicale. IL SUPPRIME TOUTES VOS DOCKER CHOSES. Y COMPRIS LES VOLUMES.

$ sudo su
# service docker stop
# cd /var/lib/docker
# rm -rf *
# service docker start

Voir https://github.com/moby/moby/issues/22207#issuecomment-295754078 pour plus de détails

Il pourrait ne pas être /var/lib/menu fixe

Le docker emplacement peut-être différent dans votre cas. Vous pouvez utiliser un analyseur d'utilisation des disques (comme mate-disk-usage-analyzer) à trouver les dossiers qui ont besoin de plus d'espace.

Voir Où sont Docker images stockées sur la machine hôte?

10voto

cpuguy83 Points 1811

Cette dir est où conteneur rootfs couches sont stockées lors de l'utilisation de la AUFS pilote de stockage (par défaut, si le AUFS les modules du noyau sont chargés).

Si vous avez un tas de *-removing dirs, cela est causé par l'échec d'une tentative de suppression. Cela peut se produire pour diverses raisons, dont la plus commune est que l' unmount a échoué en raison d' device or resource busy.

Avant de Docker 17.06, si vous avez utilisé docker rm -f pour supprimer un conteneur de tous les conteneur de métadonnées d'être supprimée, même si il y avait une erreur quelque part dans le nettoyage du conteneur (par exemple, ne pas enlever le rootfs couche). Dans 17.06 il ne sera plus supprimer le conteneur de métadonnées, et au lieu de marquer le récipient avec de l' Dead d'état de sorte que vous pouvez essayer de le supprimer à nouveau.

Vous pouvez supprimer ces répertoires, mais je voudrais arrêter de docker d'abord, puis retirez, puis démarrez le panneau arrière en place.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X