Niedawno zacząłem używać Dockera i nigdy nie zdałem sobie sprawy, że powinienem używać docker-compose down
zamiast ctrl-c
lub docker-compose stop
aby pozbyć się moich eksperymentów. Mam teraz lokalnie dużą liczbę niepotrzebnych obrazów dokerów.
Czy istnieje flaga, którą mogę uruchomić, aby usunąć wszystkie lokalne obrazy dokerów i kontenery?
Coś w rodzaju docker rmi --all --force
--all flag nie istnieje, ale szukam czegoś z podobnym pomysłem.
docker
docker-compose
Kimmo Hintikka
źródło
źródło
docker images purge
-> usunie wszystkie obrazy dokerówdocker image ls -q | xargs -I {} docker image rm -f {}
docker image prune
(obraz jest osobliwy i śliwki zamiast oczyszczania).Odpowiedzi:
Aby usunąć wszystkie kontenery, w tym użycie woluminów,
Aby usunąć wszystkie obrazy,
Pamiętaj, że powinieneś usunąć wszystkie kontenery przed usunięciem wszystkich obrazów, z których te kontenery zostały utworzone.
Jeśli pracujesz w systemie Windows (Powershell),
źródło
unknown shorthand flag: 'a' in -a
podczas bieganiadocker rmi -f $(docker images -a -q)
docker images -a -q | % { docker image rm $_ -f }
Użyj tego, aby usunąć wszystko :
https://docs.docker.com/engine/reference/commandline/system_prune/#extended-description
źródło
Aby po prostu wyczyścić wszystko:
Wszystko oznacza:
źródło
docker image prune -a
Lokalna wersja dokera: 17.09.0-ce, Git commit: afdb6d4, OS / Arch: darwin / amd64
źródło
Proste i wygodne polecenia
Aby usunąć wszystkie obrazy
Aby usunąć kontenery, które są w stanie wyjściowym
Aby usunąć kontenery, które są w stanie utworzonym
UWAGA: Usuń wszystkie pojemniki, a następnie usuń obrazy
źródło
Aby usunąć wszystkie obrazy:
Wyjaśnienie:
To polecenie zwróci wszystkie identyfikatory obrazów, a następnie użyje ich do usunięcia obrazu za pomocą swojego identyfikatora.
źródło
Usuń bez wywoływania okna dokowanego :
Nie jest to zalecane, jeśli możesz normalnie uruchomić dokera, ale jeśli z jakichkolwiek powodów nie możesz lub nie chcesz, to zadziała.
źródło
Możesz spróbować w ten sposób:
źródło
Aby usunąć wszystkie obrazy:
gdzie -a jest wszystkim, a -q zwraca tylko identyfikatory obrazu
Aby usunąć nieużywane obrazy i pojemniki:
Uwaga: jeśli używasz roju dokerów, a lokalna maszyna dołącza do zdalnego roju (jako menedżer / pracownik), lokalna będzie wdrożonym repozytorium. wykonanie tego spowoduje usunięcie wdrożonych obrazów.
źródło
źródło
Dodając do zaakceptowanej odpowiedzi techtabu, jeśli używasz dokera w systemie Windows, możesz użyć następującego polecenia
for /F "delims=" %A in ('docker ps -a -q') do docker rm %A
tutaj polecenie
docker ps -a -q
wyświetla wszystkie obrazy i ta lista jest przekazywana dodocker rm
jeden po drugimzobacz to, aby uzyskać więcej informacji o tym, jak ten typ formatu poleceń działa w Windows cmd.
źródło
Innym sposobem jest
xargs
źródło
Aby usunąć wszystkie lokalne obrazy Docker, wykonaj 2 kroki:
krok 1: obrazy dokerów (wymień wszystkie obrazy dokerów z identyfikatorami)
krok 2: obraz dokera rm 31e522c6cfe4 (ID OBRAZU)
źródło