Einführung
Docker vereinfacht das Verpacken von Anwendungen und Diensten in Container, sodass Sie diese überall ausführen können. Bei der Arbeit mit Docker sammeln sich jedoch schnell viele ungenutzte Images, Container und Datenvolumes an, die die Ausgabe unübersichtlich machen und Speicherplatz belegen. Docker bietet Ihnen alle notwendigen Tools, um Ihr System über die Kommandozeile aufzuräumen. Diese Kurzanleitung bietet eine schnelle Übersicht über Befehle, mit denen Sie Speicherplatz freigeben und Ihr System durch das Entfernen ungenutzter Docker-Images, -Container und -Volumes organisieren können.
So verwenden Sie diese Anleitung:
- Dieser Leitfaden ist als Spickzettel mit eigenständigen Befehlszeilen-Snippets gestaltet.
- Gehen Sie zu jedem Abschnitt, der mit der Aufgabe zusammenhängt, die Sie erledigen möchten.
Alle Images, Container und Volumes löschen
Docker bietet einen einzigen Befehl, der beliebige Ressourcen wie Images, Container, Volumes und Netzwerke bereinigt:
docker system pruneUm gestoppte Container und alle nicht verwendeten Images zu entfernen, fügen Sie dem Befehl die Option -a hinzu:
docker system prune -aDocker-Images löschen
Verwenden Sie den Befehl `docker images` mit der Option `-a`, um die IDs der zu entfernenden Images zu ermitteln. Dadurch werden Ihnen alle Images, einschließlich der mittleren Ebenen, angezeigt. Sobald Sie die zu entfernenden Images gefunden haben, können Sie deren ID oder Tag an `docker rmi` übergeben.
Liste:
docker images -aEntfernung:
docker rmi Image ImageHängende Bilder entfernen
Docker-Images bestehen aus mehreren Ebenen. Verwaiste Images sind Ebenen, die keiner getaggten Image-Datei zugeordnet sind. Sie erfüllen keinen Zweck mehr und belegen Speicherplatz. Sie lassen sich finden, indem Sie dem Befehl `docker images` den Filter `-f` mit dem Wert `dangling=true` hinzufügen. Wenn Sie sicher sind, dass Sie sie entfernen möchten, können Sie den Befehl `docker image prune` verwenden.
Liste:
docker images -f dangling=trueEntfernung:
docker image pruneBilder anhand eines Musters löschen
Mithilfe einer Kombination aus `docker images` und `grep` können Sie alle Images finden, die einem bestimmten Muster entsprechen. Sobald Sie zufrieden sind, können Sie diese mithilfe von `awk` entfernen, indem Sie die IDs an `docker rmi` übergeben. Beachten Sie, dass diese Tools nicht von Docker bereitgestellt werden und nicht unbedingt auf allen Systemen verfügbar sind.
Liste:
docker images -a | grep "pattern"Entfernung:
docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmiAlle Bilder löschen.
Alle Docker-Images auf einem System können durch Hinzufügen hinzugefügt werden -A Mit dem Befehl `docker images` können Sie alle Images auflisten. Sobald Sie sicher sind, dass Sie alle entfernen möchten, können Sie dies tun. -Q Fügen Sie die Bild-ID hinzu, um sie an Docker zu übergeben. RMI Schicken:
Liste:
docker images -aEntfernung:
docker rmi $(docker images -a -q)Entfernen (Vorlage entfernen):
Verwenden Sie den Befehl `docker ps` mit der Option `-a`, um den Namen oder die ID der Container zu ermitteln, die Sie entfernen möchten:
Liste:
docker ps -aEntfernung:
docker rm ID_or_Name ID_or_NameEntfernen Sie alle Ausgabeformate.
Sie können Container verwenden mit docker ps -a Suchen und filtern Sie die Container nach ihrem Status: erstellt, neu gestartet, laufend, pausiert oder beendet. Um die Liste der beendeten Container anzuzeigen, verwenden Sie die Option `-f`, um nach Status zu filtern. Sobald Sie bestätigt haben, dass Sie diese Container entfernen möchten, verwenden Sie die Option `-q`, um die Kennungen an den Befehl `docker rm` zu übergeben.
Liste:
docker ps -a -f status=exitedEntfernung:
docker rm $(docker ps -a -f status=exited -q)Vorlage mithilfe mehrerer Filter entfernen
Docker-Filter lassen sich kombinieren, indem man den Filter mit einem zusätzlichen Wert wiederholt. Das Ergebnis ist eine Liste von Containern, die alle Bedingungen erfüllen. Wenn Sie beispielsweise alle Container entfernen möchten, die als erstellt (ein Zustand, der eintritt, wenn ein Container mit einem ungültigen Befehl gestartet wird) oder beendet markiert sind, können Sie zwei Filter verwenden:
Liste:
docker ps -a -f status=exited -f status=createdEntfernung:
docker rm $(docker ps -a -f status=exited -f status=created -q)Die Form nach Vorlage ausschneiden.
Sie können alle Container finden, die einem bestimmten Muster entsprechen, indem Sie `docker ps` und `grep` kombinieren. Sobald Sie mit der Liste der zu entfernenden Container zufrieden sind, können Sie `awk` und `xargs` verwenden, um die ID an `docker rm` zu übergeben. Beachten Sie, dass diese Tools nicht von Docker bereitgestellt werden und nicht unbedingt auf allen Systemen verfügbar sind.
Liste:
docker ps -a | grep "pattern”Entfernung:
docker ps -a | grep "pattern" | awk '{print $1}' | xargs docker rmAlle Vorlagen müssen angehalten und entfernt werden.
Sie können die Container auf Ihrem System mit `docker ps` überprüfen. Der Parameter `-a` zeigt alle Container an. Wenn Sie sicher sind, dass Sie sie entfernen möchten, können Sie den Befehlen `docker stop` und `docker rm` den Parameter `-q` hinzufügen, um die Kennungen anzugeben.
Liste:
docker ps -aEntfernung:
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)Datenträger löschen
Löschen eines oder mehrerer bestimmter Volumes – Docker 1.9 und höher
Da Volumes unabhängig von Containern existieren sollen, wird ein Volume beim Entfernen einer Vorlage nicht automatisch gelöscht. Ein Volume, das existiert, aber keinem Container mehr zugeordnet ist, wird als verwaistes Volume bezeichnet. Um deren Speicherort zu ermitteln und die Löschung zu bestätigen, können Sie den Befehl `docker volume ls` mit einem Filter verwenden, der die Ergebnisse auf verwaiste Volumes beschränkt. Sobald Sie mit der Liste zufrieden sind, können Sie alle Volumes mit `docker volume prune` löschen.
Liste:
docker volume ls -f dangling=trueEntfernung:
docker volume pruneNehmen Sie eine Vorlage und deren Volumen.
Wenn Sie ein unbenanntes Volume erstellt haben, können Sie es zusammen mit dem Container mithilfe der Option `-v` entfernen. Beachten Sie, dass dies nur bei unbenannten Volumes funktioniert. Nach erfolgreicher Entfernung des Volumes wird dessen ID angezeigt. Beachten Sie, dass die Entfernung des Volumes nicht protokolliert wird. Unbenannte Volumes werden stillschweigend aus dem System entfernt. Volumes mit einem Namen bleiben im Hintergrund erhalten.
Entfernung:
docker rm -v container_nameErgebnis
Dieser Leitfaden beschreibt einige gängige Befehle zum Löschen von Images, Containern und Volumes mit Docker. Es gibt zahlreiche weitere Kombinationen und Optionen, die jeweils verwendet werden können. Eine umfassende Übersicht der verfügbaren Möglichkeiten finden Sie in der Docker-Dokumentation zum Thema Systembereinigung. Docker, Docker RMI, docker-rm Und docker volume rm Siehe. Falls es gängige Reinigungsaufgaben gibt, die Sie gerne im Leitfaden sehen würden, fragen Sie bitte danach oder machen Sie Vorschläge in den Kommentaren.









