W dokumentacji dockera na temat docker image prune można użyć flagi -a do
Usuń wszystkie nieużywane obrazy, nie tylko wiszące
i później
Usuń wszystkie wiszące obrazy. Jeśli podano -a, usunie również wszystkie obrazy, do których żaden kontener nie ma odniesienia.
Czy ktoś może mi wyjaśnić, czym są wiszące obrazy i jaka jest różnica między wiszącymi a nieużywanymi obrazami?
prune
nie jest polecany w produkcji /Odpowiedzi:
Nieużywany obraz oznacza, że nie został przypisany ani używany w kontenerze. Na przykład podczas uruchamiania
docker ps -a
- wyświetli listę wszystkich zamkniętych i aktualnie uruchomionych kontenerów. Wszystkie obrazy używane w dowolnym z kontenerów są „obrazami używanymi”.Z drugiej strony wiszący obraz oznacza po prostu, że utworzyłeś nową wersję obrazu, ale nie nadano mu nowej nazwy. Tak więc stare obrazy, które masz, stają się „wiszącym obrazem”. Te stare obrazy to te, które są nieoznakowane i wyświetlają się
<none>
w nazwie „ ” po uruchomieniudocker images
.Po uruchomieniu
docker system prune -a
usunie zarówno nieużywane, jak i wiszące obrazy. Dlatego NIE będzie to miało wpływu na obrazy używane w kontenerze, niezależnie od tego, czy zostały one zamknięte, czy są obecnie uruchomione.źródło
docker system prune --all --filter "until=24h"
zachowuje również najnowsze obrazydocker system prune -a
usuwa również zatrzymane kontenery. Powinien więc również usunąć obrazy powiązane tylko z opuszczonymi kontenerami, prawda?Najbezpieczniejszy i najłatwiejszy sposób czyszczenia wiszących obrazów
Obrazy platformy Docker składają się z wielu warstw. Obrazy wiszące to warstwy, które nie mają żadnego związku z żadnymi oznaczonymi obrazami. Nie służą już żadnemu celowi i zajmują miejsce na dysku.
Aby wyświetlić wiszące obrazy, dodając flagę filtru
-f
z wartościądangling=true
dodocker images
.Wyświetl listę wiszących obrazów
Usuń wiszące obrazy
LUB
Kiedy uruchamiamy jakiekolwiek zadania crona, aby usunąć wiszące rzeczy, użyj powyższego, aby upewnić się, że zadanie działa pomyślnie. Podobnie jak w Jenkinsie, jeśli wykonujemy pracę w wolnym stylu z poniższą pracą Commad, nigdy nie zakończy się niepowodzeniem, nawet jeśli w maszynie nie ma żadnych wiszących rzeczy.
Jest to najbezpieczniejszy i najłatwiejszy sposób na wyczyszczenie wiszących obrazów i odzyskanie miejsca na dysku do użytku.
źródło
docker images
środku, są zawieszone. Jak sprawdzić ich rozmiar? Obrazy, które nie mają nazwy i tagu,docker images -a
są również obrazami pośrednimi. Czy można je usunąć i jak sprawdzić ich rozmiar?Do obrazów w dockerze odwołuje się skrót sha256, często nazywany identyfikatorem obrazu. To podsumowanie to wszystko, czego potrzebujesz, aby obraz istniał na hoście Dockera. Zazwyczaj będziesz mieć tagi wskazujące na te skróty, np. Tag busybox: najnowsze bieżące wskazuje na identyfikator obrazu c30178c523 ... w moim systemie. Wiele tagów może wskazywać na ten sam obraz, a każdy tag można zmienić tak, aby wskazywał na inny identyfikator, np. Podczas pobierania nowej kopii busybox: najnowszy lub tworzenia nowej wersji obrazu aplikacji.
Obrazy wiszące to obrazy, które nie mają tagu i nie mają obrazu podrzędnego (np. Starego obrazu, który używał innej wersji
FROM busybox:latest
), wskazującego na nie. Mogli mieć już wcześniej wskazujący na nie tag, który później się zmienił. Albo mogli nigdy nie mieć tagu (np. Wyjście adocker build
bez opcji tagu). Zazwyczaj można je bezpiecznie usunąć, o ile nie są jeszcze uruchomione żadne kontenery odwołujące się do starego identyfikatora obrazu. Głównym powodem, dla którego warto je trzymać, jest buforowanie kompilacji.Ponadto możesz pobrać obrazy, które nie są obecnie używane przez kontenery (w tym zatrzymane kontenery). Różnią się one całkowicie od wiszących obrazów i mogą być bezpieczne do usunięcia, o ile nie planujesz ich używać w przyszłości lub nie masz nic przeciwko pobieraniu kolejnej kopii, gdy ich potrzebujesz.
źródło
docker images -a
) są również nazywane wiszącymi obrazami? Czy są usuwane za pomocą przycinania obrazu Dockera?Obrazy wiszące to warstwy, które nie mają żadnego związku z żadnymi oznaczonymi obrazami. Nie służą już żadnemu celowi i zajmują miejsce na dysku.
Nieużywany obraz to obraz, który nie został przypisany ani nie był używany w kontenerze.
Wyświetl listę wiszących obrazów
źródło
wiszące obrazy to obrazy bez tagów. Następujące polecenie wyświetla listę wiszących obrazów.
docker image prune
usuwa wszystkie wiszące obrazy.Nieużywane obrazy to obrazy, które mają tagi, ale obecnie nie są używane jako kontener. Możesz go potrzebować w przyszłości lub nie.
docker image prune -a
usuń wszystkie wiszące i nieużywane obrazy.Zazwyczaj nie chcesz usuwać wszystkich nieużywanych obrazów do pewnego czasu. Dlatego lepiej jest usunąć za pomocą filtra.
docker image prune -f --filter "until=6h"
źródło
docker image prune -a -f --filter "until=6h"
usuwa również wiszące obrazy?docker image prune -f --filter "until=6h"
- skoro nie ma -a - to dlaczego usunie nieużywane obrazy?Widziałem przydatne polecenia (aliasy) do usuwania wiszących obrazów, dzięki uprzejmości andyneff tutaj: https://forums.docker.com/t/how-to-delete-cache/5753 :
źródło
Na zrzucie ekranu obrazy „brak” nazwy są wiszącymi obrazami. Wiszący obraz oznacza po prostu, że utworzyłeś nową wersję obrazu, ale nie nadano mu nowej nazwy. Tak więc stare obrazy, które masz, stają się „wiszącym obrazem”. Te stare obrazy to te, które są nieoznakowane i wyświetlają się w nazwie „” po uruchomieniu obrazów Dockera.
docker system prune -a
, usunie zarówno nieużywane, jak i wiszące obrazy. Dlatego NIE będzie to miało wpływu na żadne obrazy używane w kontenerze, niezależnie od tego, czy zostały one zamknięte, czy są aktualnie uruchomione.źródło