Docker-Container löschen: So geben Sie Ressourcen frei

Container verbrauchen Speicherplatz und Ressourcen auf Ihrem Host-System. Durch das Löschen nicht mehr benötigter Container können Sie wertvollen Speicherplatz freigeben und die Leistung Ihres Systems verbessern.

Wann sollten Sie Docker-Container löschen?

Docker-Container sind isolierte, ausführbare Einheiten, die Anwendungen und ihre Abhängigkeiten enthalten. Das Löschen von Docker-Containern sollte in verschiedenen Situationen erfolgen, um die Effizienz, Sicherheit und Übersichtlichkeit Ihrer Docker-Umgebung zu gewährleisten.

In erster Linie sollten Sie Container nach ihrer Nutzung löschen. Wenn ein Container seine spezifische Aufgabe oder einen Prozess erfolgreich abgeschlossen hat, ist es ratsam, ihn nicht länger in Ihrer Umgebung zu behalten. Dies verhindert, dass inaktive Container weiterhin Ressourcen binden und unnötig Platz belegen.

Außerdem ist es empfehlenswert, Container zu löschen, die nicht mehr in Gebrauch sind oder seit längerer Zeit keine Aktualisierungen erhalten haben. Dies ist besonders wichtig, um Sicherheitsrisiken zu minimieren, da ältere Container möglicherweise veraltete Software-Versionen oder Sicherheitslücken aufweisen.

Wenn Sie Bedenken hinsichtlich der Sicherheit eines Containers haben oder vermuten, dass er kompromittiert sein könnte, sollten Sie ihn umgehend löschen. Dasselbe gilt für Container, die aufgrund von Konflikten oder anderen Problemen nicht gestartet werden können.

Compute Engine
Die ideale IaaS für Ihre Workloads
  • Kostengünstige vCPUs und leistungsstarke dedizierte Cores
  • Höchste Flexibilität ohne Mindestvertragslaufzeit
  • Inklusive 24/7 Experten-Support

Einen oder mehrere Docker-Container löschen

Das Entfernen eines oder mehrerer spezifischer Docker-Container ist ein häufiger Vorgang, um nicht mehr benötigte oder inaktive Container vom Docker-Host zu löschen.

Schritt 1: Container-IDs oder -Namen ermitteln

Zuerst müssen Sie die IDs oder Namen der Container herausfinden, die Sie löschen möchten. Sie können den folgenden Befehl verwenden, um eine Liste aller laufenden und gestoppten Container anzuzeigen:

docker ps -a
bash

Schritt 2: Container löschen

Sie können einfach die Container-IDs oder -Namen getrennt durch Leerzeichen nach dem docker rm-Befehl angeben:

docker rm container_id_or_name1 container_id_or_name2
bash

Einen Container beim Beenden entfernen

Um einen Docker-Container beim Beenden automatisch zu entfernen, setzen Sie das Flag --rm ein, wenn Sie den Container mit dem Befehl docker run starten. Dieses Flag bewirkt, dass der Container automatisch gelöscht wird, sobald er beendet wird.

docker run --rm image_name
bash

Alle beendeten Docker-Container löschen

Es ist auch möglich, alle beendeten Container auf einmal zu löschen, indem Sie die Container nach ihrem Status filtern und durch das Kommando rm entfernen.

Schritt 1: Beendete Container auflisten

Mit der Option -f status=exited filtern wir die Containerliste, um nur die beendeten Container anzuzeigen.

docker ps -a -f status=exited
bash

Schritt 2: Beendete Container entfernen

Wir verwenden die Ausgabe des vorherigen Schrittes, um die IDs der beendeten Container zu erhalten und diese direkt an den docker rm-Befehl weiterzugeben.

docker rm $(docker ps -a -f status=exited -q)
bash

Container mit mehr als einem Filter löschen

Sie können Docker-Container mit mehr als einem Filter entfernen, wenn Sie den docker ps-Befehl in Verbindung mit den Filteroptionen anwenden und dann die Ausgabe an den docker rm-Befehl weiterleiten.

Schritt 1: Container mit Filtern auflisten

Zuerst geben wir den docker ps-Befehl mit den Filteroptionen ein, um die Container anhand der gewünschten Kriterien aufzulisten. „created“ ist neben „exited“ ein weiterer wählbarer Zustand. Container im created-Status sind solche, die erstellt, aber noch nicht ausgeführt wurden.

docker ps -a -f status=exited -f status=created
bash

Schritt 2: Docker-Container löschen

Analog zum vorherigen Beispiel übergeben wir die Ausgabe an docker rm.

docker rm $(docker ps -a -f status=exited -f status=created -q)
bash

Container nach einem Muster entfernen

Alle Docker-Container zu finden, die mit einem bestimmten Muster übereinstimmen, und sie dann mit awk, xargs und docker rm zu löschen, ist eine leistungsstarke Möglichkeit, Container selektiv zu entfernen.

Schritt 1: Alle Container mit einem Muster finden

Wenn Sie den Befehl docker ps -a in Kombination mit grep benutzen, erhalten Sie alle Container, deren Namen oder Tags einem spezifischen Muster entsprechen. Zum Beispiel können wir Container auflisten, deren Namen mit „test-“ beginnen:

docker ps -a | grep "test-"
bash

Schritt 2: Docker-Container entfernen

Der Befehl awk ermöglicht es Ihnen, bestimmte Spalten aus dem Ausgabeergebnis zu selektieren. In diesem Fall möchten wir die erste Spalte extrahieren, die die Container-IDs enthält. Schließlich können wir mit xargs die IDs an den docker rmi-Befehl weitergeben und die Docker-Container löschen.

docker ps -a | grep "test-" | awk '{print $1}' | xargs docker rmi
bash

Alle Container stoppen und löschen

Sie dürfen alle aktiven und inaktiven Container auf Ihrem System auf einmal stoppen und löschen. Dies kann nützlich sein, wenn Sie eine umfassende Bereinigung Ihrer Docker-Umgebung durchführen möchten.

Schritt 1: Container auflisten

Um die Liste der Container zu überprüfen, geben Sie folgenden Befehl ein:

docker ps -a
bash

Schritt 2: Container stoppen

Wenn Sie sich entschieden haben, leiten Sie die Ausgabe an docker stop weiter. Dies stoppt alle Container.

docker stop $(docker ps -a -q)
bash

Schritt 3: Docker-Container löschen

Nachdem alle Container gestoppt wurden, können Sie sie mit dem Befehl docker rm entfernen:

docker rm $(docker ps -a -q)
bash

Im Gegensatz zu normalen Docker-Containern sind Docker-Container-Volumes Mechanismen, mit denen Daten persistiert und zwischen Containern und dem Host-System ausgetauscht werden können. In unserem Ratgeber finden Sie weitere Tutorials, wie Sie ein Docker-Volume löschen oder ein Docker-Image löschen können.

War dieser Artikel hilfreich?
Page top