Oficjalna dokumentacja Dockera wspomina, że muszę uruchomić, docker rm -v containername
aby konkretnie usunąć wolumin danych. Ale co robisz, jeśli już usunąłeś wszystkie kontenery odnoszące się do określonej ilości danych?
59
Przed wersją 1.9 Docker nie zapewniał żadnego sposobu usuwania wiszących woluminów.
Jeśli takie woluminy zajmują zbyt dużo miejsca na dysku i chcesz wziąć sprawy w swoje ręce, możesz ręcznie usunąć woluminy, najpierw identyfikując te, które są w użyciu. Możesz uruchomić, docker inspect -f '{{ .Volumes }}' containername
aby znaleźć lokalizację w systemie plików używanych woluminów, a następnie usunąć wszystko oprócz tych. Jeśli masz wiele kontenerów, możesz uruchomić, for x in $(docker ps -qa | sed '1d'); do docker inspect -f '{{ .Volumes }}' ${x}; done
aby przeglądać kontenery i wyświetlać woluminy.
Jeszcze lepiej, można użyć skryptu Pythona tutaj , warunkiem jest, aby zainstalować klienta API dla Pythona Döckerpip install docker-py
| sed '1d'
? Wyrzuca pierwszy wynik.-q
opcja wdocker ps -qa
już pozbywa wierszu nagłówka w wyjściu. Używam dokera w wersji 1.13 i tam muszę go użyć{{ .Mounts }}
zamiast{{ .Volumes }}
.W Docker 1.9 istnieje możliwość lepszego zarządzania woluminami za pomocą
docker volume
(patrz ten PR ):Można je usunąć za pomocą tego polecenia:
źródło
dangling=false
listami dokładnie dla mnie zawiera te same woluminy, tylko w innej kolejności. Docker 1.9.1. Brzmi podejrzanie; czy ten wiszący filtr naprawdę działa? Ach, to błąd. github.com/docker/docker/issues/16095 (oznaczone jako zamknięte, ale wciąż dla mnie problem ...)Polecenia czyszczenia: od dokera 1.13 wprowadza polecenia czyszczenia. Aby usunąć wszystkie nieużywane pojemniki, obrazy, sieci i woluminy:
docker system prune
lub indywidualnie:
docker container prune
docker image prune
docker network prune
docker volume prune
źródło
Użyj polecenia
aby usunąć wiszące woluminy z okna dokowanego 1.9 i nowszych.
źródło
Mam dokera 1.6.
Wersja python nie działała dla mnie, narzekała na niedopasowanie wersji dokera. To niesamowite, że w takich czasach nic nie przebije starego, dobrego sposobu robienia rzeczy.
Po prostu dodaj deklarację funkcji „volpurge ()” do pliku .bashrc swojego katalogu głównego. Ta funkcja musi być uruchomiona jako root.
źródło