Wyszukiwanie w witrynie

Jak usunąć obrazy, kontenery i woluminy platformy Docker


Docker to wydajna, bezpieczna, niezawodna i wydajna platforma kontenerowa typu open source, która umożliwia realistyczną niezależność między aplikacjami a infrastrukturą. Jest powszechnie stosowany przez firmy IT i firmy zajmujące się chmurą, aby łatwo tworzyć, wdrażać i uruchamiać aplikacje.

Kontener to technologia wizualizacji systemów operacyjnych, która umożliwia spakowanie aplikacji we wszystko, co potrzebne do jej uruchomienia, dzięki czemu może ona działać niezależnie od systemu operacyjnego. Obraz kontenera to samodzielny, wykonywalny pakiet aplikacji, który zawiera wszystko, co potrzebne do jej uruchomienia: kod, środowisko wykonawcze, narzędzia i biblioteki systemowe, a także konfiguracje.

Omówiliśmy już serię na temat Dockera, która wyjaśnia, jak zainstalować Dockera, uruchamiać aplikacje w kontenerach i automatycznie budować obrazy Dockera za pomocą pliku dockerfile.

  1. Zainstaluj Docker i naucz się podstawowej manipulacji kontenerami w CentOS i RHEL 7/6
  2. Jak wdrażać i uruchamiać aplikacje w kontenerach Docker w systemie CentOS/RHEL 7/6
  3. Automatycznie twórz i konfiguruj obrazy platformy Docker za pomocą pliku Dockerfile w systemie CentOS/RHEL 7/6
  4. Jak skonfigurować prosty serwer WWW Apache w kontenerze Docker

W tym artykule wyjaśnimy, jak usunąć obrazy, kontenery i woluminy dockera za pomocą narzędzia wiersza poleceń dockera w systemach Linux.

Jak usunąć obrazy Dockera

Zanim usuniesz jakiekolwiek obrazy dokowane, możesz wyświetlić listę wszystkich istniejących obrazów w systemie za pomocą polecenia zarządzania obrazami.

docker image	        #list the most recently created images
OR
docker image -a 	#list all images

Patrząc na wynik na poniższym zrzucie ekranu, mamy kilka obrazów bez tagu (zamiast tego wyświetlają ). Są one określane jako „wiszące obrazy”. Nie mają już żadnego związku z żadnymi oznaczonymi obrazami; nie są już przydatne i zajmują jedynie miejsce na dysku.

Możesz usunąć jeden lub więcej starych lub nieużywanych obrazów Dockera, na przykład za pomocą ID obrazu (gdzie d65c4d6a3580 to identyfikator obrazu).

docker rmi d65c4d6a3580 				#remove a single image
docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc	#remove multiple images

Możesz wyświetlić listę zawieszonych obrazów (nieoznaczonych obrazów) za pomocą flagi filtru -f, jak pokazano.

docker images -f dangling=true	

Aby usunąć wszystkie wiszące obrazy i odzyskać zmarnowane miejsce na dysku, użyj dowolnego z tych poleceń.

docker image prune		#interactively remove dangling images
OR
docker rmi $(docker images -q -f dangling=true)

Aby usunąć wszystko, co nie jest powiązane z żadnym kontenerem, użyj następującego polecenia.

docker image prune -a 	

Jak usunąć kontenery Docker

Możesz zacząć od wylistowania wszystkich kontenerów dokowanych w systemie za pomocą następującego polecenia.

docker ps
OR
docker ps -a  

Po zidentyfikowaniu kontenera(ów), które chcesz usunąć, możesz je usunąć na przykład na podstawie ich identyfikatora.

docker rm 0fd99ee0cb61		#remove a single container
docker rm 0fd99ee0cb61 0fd99ee0cb61   #remove multiple containers

Jeśli kontener jest uruchomiony, możesz go najpierw zatrzymać i usunąć, jak pokazano.

docker stop 0fd99ee0cb61
docker rm -f 0fd99ee0cb61

Możesz także wymusić usunięcie kontenera podczas jego działania, dodając flagę --force lub -f, spowoduje to wysłanie do niego < silny sygnał>SIGKILL, jak pokazano.

docker rm -f 0fd99ee0cb61

Kontenery można również usuwać za pomocą filtrów. Na przykład, aby usunąć wszystkie opuszczone kontenery, użyj tego polecenia.

docker rm $(docker ps -qa --filter "status=exited")

Aby zatrzymać i usunąć wszystkie kontenery, użyj następujących poleceń.

docker stop $(docker ps -a -q)	#stop all containers
docker container prune		#interactively remove all stopped containers
OR
docker rm $(docker ps -qa)

Jak usunąć woluminy Dockera

Tak jak poprzednio, zacznij od wyświetlenia wszystkich woluminów dokowanych w systemie za pomocą polecenia zarządzania woluminami, jak pokazano.

docker volume ls

Aby usunąć jeden lub więcej woluminów, użyj następującego polecenia (pamiętaj, że nie możesz usunąć woluminu używanego przez kontener).

docker volume rm volume_ID 	           #remove a single volume 
docker volume rm volume_ID1 volume_ID2   #remove multiple volumes

Użyj flagi -f, aby wymusić usunięcie jednego lub większej liczby woluminów.

docker volume rm -f volume_ID

Aby usunąć wiszące woluminy, użyj następującego polecenia.

docker volume rm $(docker volume ls  -q --filter dangling=true)

Aby usunąć wszystkie nieużywane woluminy lokalne, uruchom następujące polecenie. Spowoduje to interaktywne usunięcie woluminów.

docker volume prune	

Jak usunąć nieużywane lub wiszące obrazy, kontenery, woluminy i sieci

Za pomocą tego jednego polecenia możesz usunąć wszystkie wiszące i niepowiązane dane, takie jak zatrzymane kontenery, obrazy bez kontenerów. Domyślnie woluminy nie są usuwane, aby zapobiec usunięciu ważnych danych, jeśli obecnie nie ma kontenera korzystającego z woluminu.

docker system prune

Aby wyczyścić woluminy, po prostu dodaj flagę --volumes do poniższego polecenia, jak pokazano.

docker system prune --volumes

Uwaga: aby uruchomić narzędzie wiersza poleceń dokera bez polecenia sudo, musisz na przykład dodać użytkownika do grupy doków.

sudo usermod -a -G docker aaronkilik

Aby uzyskać więcej informacji, zobacz stronę pomocy dotyczącą powyższych poleceń zarządzania obiektami okna dokowanego.

docker help
docker image help   
docker container help   
docker volume help   

To wszystko na teraz! W tym artykule wyjaśniliśmy, jak usunąć obrazy, kontenery i woluminy dokera za pomocą narzędzia wiersza poleceń dokera. Jeśli masz jakieś pytania lub przemyślenia, którymi chcesz się podzielić, skorzystaj z poniższego formularza opinii, aby się z nami skontaktować.