La commande officielle pour supprimer toutes les données inutilisées (y compris les volumes sans conteneurs) sera avec docker 1.13
docker system prune
Si vous souhaitez limiter aux volumes seuls, en supprimant uniquement les volumes inutilisés :
docker volume prune
Vous avez également docker image prune
, docker container prune
etc:
Voir plus à « objets Pruneau Docker inutilisés ».
Voir commit 86de7c0 et PR 26108 .
Vous pouvez le voir en action sur play-with-docker.com :
/ # docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1296a5e47ef3 hello-world "/hello" 7 seconds ago Exited (0) 6 seconds ago prickly_poincare
/ # docker system prune
WARNING! This will remove:
- all stopped containers
- all volumes not used by at least one container
- all networks not used by at least one container
- all dangling images
Are you sure you want to continue? [y/N] y
Deleted Containers:
1296a5e47ef3ab021458c92ad711ad03c7f19dc52f0e353f56f062201aa03a35
La façon actuelle (pré-docker 1.13) de gérer le volume a été introduite avec PR 14242 et la docker volume
commande , qui documente dans son commentaire de juillet 2015:
docker volume rm $(docker volume ls -q --filter dangling=true)
prune
commandes.dangling
filtres à l'avance si vous n'êtes pas sûr de ce qui pourrait être taillé :)docker system prune
ne semble pas supprimer les volumes locaux mais ledocker volume prune
trieModifié le 2017: Cette réponse a été donnée le 16 avril 16 et est maintenant obsolète, et correcte uniquement pour la version de docker antérieure à la 1.13, veuillez utiliser la réponse de @VonC, maintenant elle est marquée comme correcte
Pour supprimer les volumes inutilisés, vous pouvez utiliser la
volume rm
commande docker intégrée . Larm
commande supprime également tout répertoire/var/lib/docker/volumes
qui n'est pas un volume, alors assurez-vous que vous n'avez rien mis là-dedans que vous voulez enregistrer:Commande pour lister les volumes, un peu juste que le vôtre:
Nettoyer:
plus de détails sur les ls ici , sur rm ici
la source
--dry-run
paramètre.--dry-run
option.Voici ce que j'ai trouvé utile: https://github.com/chadoe/docker-cleanup-volumes
Il effectue essentiellement un nettoyage de tous les volumes orphelins / suspendus, mais il inclut un
--dry-run
mais il prend également note de certaines commandes incluses dans le menu fixe (qui sont référencées dans le commentaire précédent)la source
Pour répondre à la question et emprunter à Marc, cela fonctionne:
la source