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.
- 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
bashSchritt 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
bashEinen 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
bashAlle 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
bashSchritt 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)
bashContainer 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
bashSchritt 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)
bashContainer 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-"
bashSchritt 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
bashAlle 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
bashSchritt 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)
bashSchritt 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)
bashIm 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.