Heim >Betrieb und Instandhaltung >Docker >So entfernen Sie Docker-Images, Container und Volumes

So entfernen Sie Docker-Images, Container und Volumes

Lisa Kudrow
Lisa Kudrownach vorne
2025-01-09 10:23:29469Durchsuche

Docker macht es einfach, Ihre Anwendungen und Dienste in Container zu verpacken Sie können sie überall ausführen. Wenn Sie jedoch mit Docker arbeiten, ist dies auch der Fall Es kann leicht passieren, dass sich eine übermäßige Anzahl ungenutzter Bilder, Container usw. ansammelt Datenmengen, die die Ausgabe überladen und Speicherplatz verbrauchen.

Docker bietet Ihnen alle Tools, die Sie zum Bereinigen Ihres Systems benötigen die Befehlszeile. Diese Anleitung im Spickzettel-Stil bietet einen schnellen Überblick Verweis auf Befehle, die zum Freigeben und Speichern von Speicherplatz nützlich sind Organisieren Sie Ihr System, indem Sie nicht verwendete Docker-Images, Container usw. entfernen Volumes.

截屏2025-01-09 10.03.57.png

Löschen aller nicht verwendeten oder baumelnden Bilder, Container, Volumes und Netzwerke

Docker bietet einen einzigen Befehl, der alle Ressourcen bereinigt – Bilder, Container, Volumes und Netzwerke – die baumeln (nicht getaggt oder mit einem verknüpft sind). Container):

docker system prune

Um zusätzlich alle gestoppten Container und alle nicht verwendeten Bilder (nicht nur baumelnde Bilder) zu entfernen, fügen Sie dem Befehl das Flag -a hinzu:

docker system prune -a

Docker entfernen Bilder

Entfernen Sie ein oder mehrere bestimmte Bilder

Verwenden Sie den Docker-Images-Befehl mit dem Flag -a, um die ID der Bilder zu finden, die Sie entfernen möchten. Das wird sich zeigen Sie erhalten jedes Bild, einschließlich der Zwischenbildebenen. Wenn Sie es getan haben Wenn Sie die Bilder gefunden haben, die Sie löschen möchten, können Sie deren ID oder Tag an Docker RMI übergeben:

Liste:

docker images -a

Entfernen:

docker rmiImageImage

Herabhängende Docker-Bilder entfernen

Docker-Bilder bestehen aus mehrere Schichten. Hängende Bilder sind Ebenen die keinen Bezug zu getaggten Bildern haben. Sie dienen nicht mehr einem Zweck und verbrauchen Speicherplatz. Sie können durch Hinzufügen des Filters lokalisiert werden Flag -f mit dem Wert „dangling=true“ für den Docker-Images-Befehl. Wenn Sie sicher sind, dass Sie sie löschen möchten, können Sie den Docker-Image-Prune-Befehl verwenden:

Liste:

docker images -f dangling=true

Entfernen:

docker image prune

Bilder nach einem Muster entfernen

Sie können alle finden Bilder, die einem Muster entsprechen, mithilfe einer Kombination aus Docker-Bildern und grep. Sobald Sie zufrieden sind, können Sie sie löschen, indem Sie awk verwenden, um die IDs an Docker RMI zu übergeben. Beachten Sie, dass diese Dienstprogramme nicht von Docker bereitgestellt werden und nicht unbedingt auf allen Systemen verfügbar sind:

Liste:

docker images -a |  grep "pattern"

Entfernen:

docker images -a | grep "pattern" | awk '{print ":"}' | xargs docker rmi

Alle Bilder entfernen

Alle Docker-Bilder auf einem System können aufgelistet werden, indem -a zum Befehl „docker images“ hinzugefügt wird. Sobald Sie sicher sind, dass Sie sie alle löschen möchten, können Sie das Flag -q hinzufügen, um die Bild-ID an Docker RMI zu übergeben:

Liste:

docker system prune

Entfernen:

docker system prune -a

Entfernen Container

Entfernen Sie einen oder mehrere bestimmte Container

Verwenden Sie den Docker-Befehl ps mit dem Flag -a, um den Namen oder die ID der gewünschten Container zu finden entfernen:

Liste:

docker images -a

Entfernen:

docker rmiImageImage

Entfernen Sie einen Container beim Verlassen

Wenn Sie beim Erstellen eines Containers wissen, dass Sie ihn nicht mehr behalten möchten, wenn Sie fertig sind, dann ist das der Fall Sie können docker run --rm ausführen, um es beim Beenden automatisch zu löschen:

Ausführen und entfernen:

docker images -f dangling=true

Alle beendeten Container entfernen

Sie können Container mit docker ps -a finden und sie nach ihrem Status filtern: erstellt, neu gestartet, ausgeführt, angehalten oder beendet. Um die Liste der beendeten Container zu überprüfen, verwenden Sie das Flag -f, um nach Status zu filtern. Wenn Sie bestätigt haben, dass Sie diese Container entfernen möchten, übergeben Sie die IDs mit -q an den Docker-RM-Befehl:

Liste:

docker image prune

Entfernen:

docker images -a |  grep "pattern"

Entfernen Sie Behälter mit mehr als einem Filter

Docker-Filter können kombiniert werden, indem das Filter-Flag mit einem wiederholt wird Mehrwert. Dies führt zu einer Liste von Containern, die beides erfüllen Zustand. Wenn Sie beispielsweise alle mit markierten Container löschen möchten Entweder erstellt (ein Zustand, der entstehen kann, wenn Sie einen Container mit einem ungültigen Befehl ausführen) oder beendet, können Sie zwei Filter verwenden:

Liste:

docker images -a | grep "pattern" | awk '{print ":"}' | xargs docker rmi

Entfernen:

docker images -a

Behälter gemäß a entfernen Muster

Sie können alle Container finden, die einem Muster entsprechen, indem Sie eine Kombination aus Docker PS und Grep verwenden. Wenn Sie zufrieden sind, dass Sie die Liste haben, die Sie löschen möchten, können Sie awk und xargs verwenden, um die ID an docker rm bereitzustellen. Beachten Sie, dass diese Dienstprogramme nicht von Docker bereitgestellt werden und nicht unbedingt auf allen Systemen verfügbar sind:

Liste:

docker rmi $(docker images -a -q)

Entfernen:

docker ps -a

Stoppen und entfernen Sie alle Container

Sie können die Container auf Ihrem System mit überprüfen Docker PS. Durch Hinzufügen des Flags -a werden alle Container angezeigt. Wenn Sie sicher sind, dass Sie sie löschen möchten, können Sie das Flag -q hinzufügen, um die IDs für die Befehle docker stop und docker rm bereitzustellen:

Liste:

docker rm ID_or_NameID_or_Name

Entfernen:

docker run --rm image_name

Volumes entfernen

Ein oder mehrere bestimmte Volumes entfernen

Verwenden Sie den Docker-Befehl „Volume ls“, um den oder die Volume-Namen zu finden, die Sie löschen möchten. Anschließend können Sie ein oder mehrere Volumes mit dem Docker-Volume-RM-Befehl entfernen:

Liste:

docker system prune

Entfernen:

docker system prune -a

Entfernen Sie baumelnde Volumen

Denn der Sinn von Volumen besteht darin, zu existieren unabhängig von Containern, Wenn ein Container entfernt wird, wird ein Volume nicht automatisch entfernt zur gleichen Zeit. Wenn ein Volume vorhanden ist und mit keinem mehr verbunden ist Bei Containern spricht man von einem Dangling Volume.  Um sie zu finden und zu bestätigen, dass Sie sie entfernen möchten, können Sie das Docker-Volume ls verwenden Befehl mit einem Filter, um die Ergebnisse auf freie Volumes zu beschränken. Wann Wenn Sie mit der Liste zufrieden sind, können Sie sie alle mit Docker Volume Prune entfernen:

Liste:

docker images -a

Entfernen:

docker rmiImageImage

Entfernen Sie einen Container und sein Volumen

Wenn Sie einen unbenannten Container erstellen Volume kann es gleichzeitig mit dem Container mit dem Flag -v gelöscht werden. Beachten Sie, dass dies nur mit unbenannt funktioniert Bände. Wenn der Container erfolgreich entfernt wurde, lautet seine ID angezeigt. Beachten Sie, dass kein Hinweis auf die Entfernung des Volumes enthalten ist. Wenn es unbenannt ist, wird es stillschweigend aus dem System entfernt. Wenn ja benannt, bleibt es still präsent.

Entfernen:

docker images -f dangling=true

Das obige ist der detaillierte Inhalt vonSo entfernen Sie Docker-Images, Container und Volumes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:digitalocean.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen