Jak usunąć wszystkie obrazy Docker?

Jeśli potrzebujesz kompleksowej platformy kontenerowej typu open source do tworzenia niezależności między aplikacjami i infrastrukturą, Docker jest najbezpieczniejszym rozwiązaniem. Jeśli miałeś okazję go używać, już wiesz, jak wydajny i łatwy w użyciu jest

Jak usunąć wszystkie obrazy Docker?

Dla wielu firm chmurowych i IT jest on niezwykle przydatny, a jego popularność jest zdecydowanie zasłużona.

Jednak to nie czyni go idealnym. Dowodem na to są ograniczenia związane z usuwaniem obrazów, woluminów, kontenerów i sieci. Mimo że te polecenia są dostępne, nie są tak wszechstronne, jak chcieliby ich użytkownicy.

Tutaj zobaczysz główne problemy, które napotykają użytkownicy, a także ich rozwiązania. Dowiesz się, jak w prosty sposób usuwać obrazy i kontenery.

Problem

Technologia kontenerowa zapewnia sposób wizualizacji systemów operacyjnych. Umożliwia spakowanie aplikacji ze wszystkim, czego potrzeba do jej uruchomienia, co pozwala jej działać niezależnie od systemu operacyjnego.

Obrazy kontenerów to samodzielne, wykonywalne pakiety aplikacji, które zawierają wszystko, co jest potrzebne do prawidłowego działania aplikacji. Każdy obraz zawiera środowisko wykonawcze, kod, konfiguracje oraz narzędzia i biblioteki systemowe.

W miarę korzystania z Dockera te obrazy się kumulują. Z biegiem czasu gromadzi się duża liczba nieużywanych obrazów, wolumenów danych i kontenerów, tworząc zatłoczone środowisko Dockera. Kiedy tak się dzieje, konieczne jest odświeżenie środowiska, aby platforma działała tak, jak powinna.

Istnieje wiele poleceń, które mogą to umożliwić, więc przyjrzyjmy się głównym sposobom uporządkowania środowiska Dockera.

Usuwanie obrazów Docker

Zanim będziesz mógł usunąć niepotrzebne obrazy, musisz je odróżnić od przydatnych. Można to łatwo zrobić, wyświetlając listę wszystkich obrazów znajdujących się w systemie za pomocą polecenia zarządzania obrazami.

Oto jak to wygląda:

$ docker image #wymień ostatnio utworzone obrazy

Lub

$ docker image -a #wymień wszystkie obrazy

Za pomocą drugiego polecenia zobaczysz wszystkie swoje obrazy dokowane. Wszystko, co musisz zrobić, to znaleźć tak zwane „wiszące obrazy”. To wszystkie obrazy Dockera, które nie zawierają tagu. Bez tagu nie ma połączenia z otagowanymi obrazami, co oznacza, że ​​nie są już przydatne.

Korzystając z identyfikatora obrazu, można usunąć jeden lub więcej obrazów. Aby to zrobić, użyj jednego z tych poleceń:

$ docker rmi d65c4d6a3580 #usuń pojedynczy obraz

$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #usuń wiele obrazów

Wygodniejszym rozwiązaniem jest użycie flagi filtru -f do wyświetlenia wszystkich nieaktualnych obrazów.

Aby usunąć te obrazy i wyczyścić miejsce na dysku, użyj jednego z następujących poleceń:

$ docker przycinanie obrazu #interaktywnie usuwaj wiszące obrazy

Lub

$ docker rmi $(obrazy dokowane -q -f dangling=true)

W podobny sposób można usunąć wszystkie obrazy Dockera. Wyświetl je za pomocą obrazów docker $ – polecenie, a następnie usuń je za pomocą następującego:

$ (dokowane rmi $(dokowane obrazy -a -q)

Inną opcją jest usunięcie obrazów, które mają określony wzór. Aby je wyświetlić, użyj następującego polecenia:

$ obrazy dokowane -a | grep "wzór"

Następnie usuń je za pomocą:

$ obrazy dokowane -a | grep "wzór" | awk '{print $3}' | xargs okno dokowane rmi

Usuwanie pojemników

Inną rzeczą, którą możesz chcieć zrobić po pracy z Dockerem przez określony czas, jest usunięcie jednego lub więcej kontenerów.

Podobnie jak w przypadku usuwania obrazów, najpierw musisz je wyświetlić za pomocą następującego polecenia:

$ doker ps

Lub

$ docker ps -a

Gdy znajdziesz kontenery, które chcesz usunąć, użyj ich identyfikatora, aby to zrobić.

$ docker rm 0fd99ee0cb61 #usuń pojedynczy kontener

$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #usuń wiele kontenerów

Jeśli kontener, który próbujesz usunąć, jest uruchomiony, możesz użyć następującego polecenia, aby go zatrzymać:

$ przystanek dokera 0fd99ee0cb61

$ docker rm -f 0fd99ee0cb61

Na koniec możesz zatrzymać i usunąć wszystkie niepotrzebne kontenery, używając następujących poleceń:

$ docker stop $(docker ps -a -q) #zatrzymaj wszystkie kontenery

$ przycinanie kontenerów docker #interaktywnie usuń wszystkie zatrzymane kontenery

Lub

$ docker rm $(docker ps -qa)

Dzięki temu zwolnisz cenne miejsce na dysku i zaczniesz od nowa.

Ostatnie słowo

Jak widać, usuwanie obrazów i kontenerów Dockera nie jest tak zniechęcające, jak mogłoby. Teraz, gdy znasz te polecenia, możesz mieć większą kontrolę nad działaniem platformy Docker.

Oczywiście to tylko niektóre polecenia i możesz użyć wielu innych kombinacji. Mimo to sprawdzą się dobrze, więc możesz je wypróbować.