Website-Suche

So entfernen Sie Docker-Images, Container und Volumes


Docker ist eine leistungsstarke, sichere, zuverlässige und effiziente Open-Source-Containerplattform, die eine realistische Unabhängigkeit zwischen Anwendungen und Infrastruktur ermöglicht. Es wird von IT- und Cloud-Unternehmen weithin übernommen, um Anwendungen einfach zu erstellen, bereitzustellen und auszuführen.

Ein Container ist eine Technologie zur Visualisierung von Betriebssystemen, die es ermöglicht, eine Anwendung mit allem zu packen, was für ihre Ausführung erforderlich ist, sodass sie unabhängig vom Betriebssystem ausgeführt werden kann. Ein Container-Image ist ein eigenständiges, ausführbares Paket einer Anwendung, das alles enthält, was zum Ausführen der Anwendung erforderlich ist: Code, Laufzeit, Systemtools und Bibliotheken sowie Konfigurationen.

Wir haben bereits eine Reihe zu Docker behandelt, in der erklärt wird, wie man Docker installiert, Anwendungen in Containern ausführt und automatisch Docker-Images mit Dockerfile erstellt.

  1. Installieren Sie Docker und lernen Sie die grundlegende Containermanipulation in CentOS und RHEL 7/6
  2. So stellen Sie Anwendungen in Docker-Containern unter CentOS/RHEL 7/6 bereit und führen sie aus
  3. Erstellen und konfigurieren Sie Docker-Images automatisch mit Dockerfile unter CentOS/RHEL 7/6
  4. So richten Sie einen einfachen Apache-Webserver in einem Docker-Container ein

In diesem Artikel erklären wir, wie Sie Docker-Images, Container und Volumes über das Docker-Befehlszeilentool in Linux-Systemen entfernen.

So entfernen Sie Docker-Images

Bevor Sie Docker-Images entfernen, können Sie mit dem Image-Management-Befehl alle vorhandenen Images auf Ihrem System auflisten.

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

Wenn wir uns die Ausgabe im folgenden Screenshot ansehen, haben wir einige Bilder ohne Tag (stattdessen wird angezeigt), diese werden als „baumelnde Bilder“ bezeichnet. Sie haben keine Beziehung mehr zu getaggten Bildern; Sie sind nicht mehr nützlich und verbrauchen nur noch Speicherplatz.

Sie können ein oder mehrere alte oder nicht verwendete Docker-Images beispielsweise mithilfe der Image-ID entfernen (wobei d65c4d6a3580 die Image-ID ist).

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

Sie können hängende Bilder (Bilder ohne Tags) mit dem Filter-Flag -f auflisten, wie gezeigt.

docker images -f dangling=true	

Verwenden Sie einen dieser Befehle, um alle hängenden Bilder zu entfernen und so verschwendeten Speicherplatz zurückzugewinnen.

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

Um alle zu entfernen, die keinem Container zugeordnet sind, verwenden Sie den folgenden Befehl.

docker image prune -a 	

So entfernen Sie Docker-Container

Sie können beginnen, indem Sie mit dem folgenden Befehl alle Docker-Container auf Ihrem System auflisten.

docker ps
OR
docker ps -a  

Sobald Sie die Container identifiziert haben, die Sie löschen möchten, können Sie diese beispielsweise anhand ihrer ID entfernen.

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

Wenn ein Container ausgeführt wird, können Sie ihn zunächst stoppen und wie gezeigt entfernen.

docker stop 0fd99ee0cb61
docker rm -f 0fd99ee0cb61

Sie können einen Container auch erzwingen, während er ausgeführt wird, indem Sie das Flag --force oder -f hinzufügen. Dadurch wird ihm ein < gesendet starkes>SIGKILL-Signal wie gezeigt.

docker rm -f 0fd99ee0cb61

Sie können Container auch mithilfe von Filtern entfernen. Um beispielsweise alle beendeten Container zu entfernen, verwenden Sie diesen Befehl.

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

Um alle Container zu stoppen und zu entfernen, verwenden Sie die folgenden Befehle.

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

So entfernen Sie Docker-Volumes

Beginnen Sie wie zuvor damit, alle Docker-Volumes auf Ihrem System mit dem Volume-Verwaltungsbefehl wie gezeigt aufzulisten.

docker volume ls

Um ein oder mehrere Volumes zu entfernen, verwenden Sie den folgenden Befehl (beachten Sie, dass Sie kein Volume entfernen können, das von einem Container verwendet wird).

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

Verwenden Sie das Flag -f, um das Entfernen eines oder mehrerer Volumes zu erzwingen.

docker volume rm -f volume_ID

Um ungenutzte Volumes zu entfernen, verwenden Sie den folgenden Befehl.

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

Führen Sie den folgenden Befehl aus, um alle nicht verwendeten lokalen Volumes zu entfernen. Dadurch werden Volumes interaktiv entfernt.

docker volume prune	

So entfernen Sie nicht verwendete oder baumelnde Images, Container, Volumes und Netzwerke

Mit diesem einzigen Befehl können Sie alle freien und nicht referenzierten Daten wie gestoppte Container oder Bilder ohne Container löschen. Standardmäßig werden Volumes nicht entfernt, um zu verhindern, dass wichtige Daten gelöscht werden, wenn derzeit kein Container das Volume verwendet.

docker system prune

Um Volumes zu bereinigen, fügen Sie einfach das Flag --volumes zum folgenden Befehl hinzu, wie gezeigt.

docker system prune --volumes

Hinweis: Um das Docker-Befehlszeilentool ohne den Befehl sudo auszuführen, müssen Sie beispielsweise einen Benutzer zur Docker-Gruppe hinzufügen.

sudo usermod -a -G docker aaronkilik

Weitere Informationen finden Sie auf der Hilfeseite zu den oben genannten Docker-Objektverwaltungsbefehlen.

docker help
docker image help   
docker container help   
docker volume help   

Das ist alles für jetzt! In diesem Artikel haben wir erklärt, wie Sie Docker-Images, Container und Volumes über das Docker-Befehlszeilentool entfernen. Wenn Sie Fragen oder Gedanken zum Teilen haben, nutzen Sie das untenstehende Feedback-Formular, um uns zu erreichen.