Oficjalne polecenie usunięcia wszystkich nieużywanych danych (w tym woluminów bez kontenerów) będzie dostępne w dockerze 1.13
docker system prune
Jeśli chcesz ograniczyć się do samych woluminów, usuwając tylko nieużywane woluminy :
docker volume prune
Trzeba też docker image prune
, docker container prune
itd:
zobacz więcej na „ suszonych śliwek nieużywany dokowanym obiektów ”.
Zobacz commit 86de7c0 i PR 26108 .
Możesz zobaczyć to w akcji na 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
Obecny (pre-docker 1.13) sposób zarządzania wolumenem został wprowadzony wraz z PR 14242 oraz docker volume
poleceniem , które dokumentuje w komentarzu z lipca 2015 r .:
docker volume rm $(docker volume ls -q --filter dangling=true)
prune
poleceniach.dangling
filtrów z wyprzedzeniem, jeśli nie masz pewności, co może zostać przycięte :)docker system prune
nie wydaje się usuwać lokalnych woluminów, aledocker volume prune
jeEdytowane w 2017 r .: Ta odpowiedź została udzielona 16 kwietnia 2016 r., A teraz jest nieaktualna i poprawna tylko dla wersji dockera wcześniejszej niż 1.13, użyj odpowiedzi z @VonC, teraz jest oznaczona jako poprawna
Aby usunąć nieużywane woluminy, możesz użyć wbudowanego
volume rm
polecenia docker .rm
Polecenie usuwa również dowolny katalog, w/var/lib/docker/volumes
których nie jest objętość, więc upewnij się, że nie umieścić coś tam chcesz zapisać:Polecenie do objętości listy, trochę prawo niż Twoja:
Sprzątać:
więcej szczegółów o ls tutaj , o rm tutaj
źródło
--dry-run
parametrem.--dry-run
opcji.Oto, co uznałem za przydatne: https://github.com/chadoe/docker-cleanup-volumes
Zasadniczo czyści wszelkie osierocone / wiszące woluminy, ale zawiera,
--dry-run
ale odnotowuje również niektóre polecenia dołączone do dockera (do których odwołuje się poprzedni komentarz)źródło
Aby odpowiedzieć na pytanie i pożyczyć od Marca, działa to:
źródło