Docker

Aufräumen von Docker-Ressourcen

Beim Arbeiten mit Docker sammeln sich häufig nicht mehr benötigte Container, Volumes und Images an, die Speicherplatz verbrauchen und die Performance beeinträchtigen können. Docker bietet mit dem docker prune-Befehl eine einfache Möglichkeit, nicht genutzte Ressourcen aufzuräumen und Speicherplatz freizugeben.


4 Minuten Lesezeit
01 Nov 2024
Aufräumen von Docker-Ressourcen

Übersicht über prune

Der docker prune-Befehl hat mehrere spezifische Optionen zum Entfernen von verschiedenen Arten nicht genutzter Ressourcen.

Entfernen gestoppter Container

Gestoppte Container bleiben nach ihrer Verwendung oft bestehen und nehmen Speicherplatz ein. Der folgende Befehl löscht alle gestoppten Container, die nicht mehr verwendet werden.

docker container prune

Beim Ausführen dieses Befehls wirst Du aufgefordert, die Aktion zu bestätigen. Du kannst mit yes antworten, um alle gestoppten Container zu löschen.

Falls Du eine Löschung ohne Bestätigung möchtest, kannst Du die Option --force verwenden.

docker container prune --force

Nach dem Ausführen dieses Befehls bleiben nur noch laufende Container bestehen, während alle gestoppten Container gelöscht werden.

Entfernen nicht genutzter Volumes

Docker-Volumes speichern Daten, die über die Laufzeit eines Containers hinaus bestehen bleiben. Nicht genutzte Volumes werden oft nicht automatisch entfernt, selbst wenn die zugehörigen Container gelöscht werden. Mit folgendem Befehl kannst Du alle unbenutzten Volumes entfernen und Speicherplatz freigeben:

docker volume prune

Bestätige die Aktion oder verwende die Option --force, um die Bestätigung zu überspringen.

docker volume prune --force

Dieser Befehl entfernt alle Volumes, die nicht mit einem laufenden oder gestoppten Container verbunden sind.

Entfernen nicht referenzierter Images

Beim Arbeiten mit Docker sammeln sich oft viele Images an, darunter auch sogenannte „dangling“ Images. Diese Images haben keine Referenzen mehr und können entfernt werden, um Speicherplatz zu sparen. Mit folgendem Befehlt werden alle nicht referenzierten Images gelöscht:

docker image prune

Docker wird die Aktion bestätigen lassen. Du kannst wieder --force verwenden, um die Nachfrage zu überspringen.

docker image prune --force

Zusätzliche Optionen für docker image prune

Falls Du alle ungenutzten Images löschen möchtest – also auch Images, die nicht in einem Container verwendet werden – kannst Du die Option --all hinzufügen.

docker image prune --all

Dies entfernt alle Images, die nicht von laufenden Containern referenziert werden. Beachte, dass hier auch Images entfernt werden, die noch in Zukunft wiederverwendet werden könnten.

Entfernen ungenutzter Netzwerke

Docker erstellt für Container häufig Netzwerke, die nach Beendigung nicht automatisch entfernt werden. So kannst Du alle ungenutzten Netzwerke löschen:

docker network prune

Bestätige die Aktion oder verwende die Option --force, um die Netzwerke ohne Bestätigung zu löschen.

docker network prune --force

Dies entfernt alle Netzwerke, die derzeit nicht von Containern verwendet werden.

Entfernen aller ungenutzten Ressourcen

Falls Du den gesamten nicht genutzten Speicherplatz in Docker freigeben möchtest, kannst Du den folgenden Befehl verwenden. Dieser Befehl entfernt gestoppte Container, nicht referenzierte Images, ungenutzte Volumes und Netzwerke.

docker system prune

Auch hier musst Du die Aktion bestätigen oder die Option --force verwenden.

docker system prune --force

Zusätzliche Optionen für docker system prune

Mit der Option --all kannst Du Docker anweisen, alle ungenutzten Images zu entfernen, nicht nur die „dangling“ Images.

docker system prune --all

Falls Du Volumes auch mit entfernen möchtest, musst Du explizit die Option --volumes hinzufügen, da Volumes standardmäßig bei docker system prune nicht gelöscht werden.

docker system prune --all --volumes

Dieser Befehl führt eine vollständige Bereinigung durch und entfernt alle ungenutzten Docker-Ressourcen, einschließlich Volumes.

Beispielanwendung

Stellen wir uns vor, dass Du eine Docker-Umgebung bereinigen möchtest, in der Du viele gestoppte Container, ungenutzte Images und nicht referenzierte Volumes hast.

Du könntest den folgenden Ablauf durchführen:

  1. Lösche zunächst alle gestoppten Container
docker container prune --force
  1. Entferne anschließend alle nicht referenzierten Images, um Speicherplatz zu sparen
docker image prune --all --force
  1. Lösche alle nicht genutzten Volumes
docker volume prune --force
  1. Entferne zuletzt alle ungenutzten Netzwerke
docker network prune --force

Alternativ kannst Du auch direkt verwenden, um alle nicht benötigten Ressourcen auf einmal zu entfernen. Damit wird der gesamte ungenutzte Speicherplatz in Docker freigegeben.

docker system prune --all --volumes --force 

Online- und Präsenzkurse zum Thema

Finden Sie interessante und zum Thema passende Kurse

Docker - Grundlagen

In diesem Seminar lernen Sie, was Container sind, wie Sie sie erstellen und verwalten und wie Sie Docker in Ihren Projekten nutzen können. Ziel ist es, Docker von Grund auf zu verstehen und in realen Projekten anwenden zu können.

2 Tage Vollzeit Online

Nächster Termin: 16. Dezember 2024
Preis pro Person: 900,00 EUR

Rabattaktion: 3 für den Preis von 2!

Git Schulung: Einführung

In unserem 3-Tages Git & GitHub Einführungskurs erlernen Sie den effektiven Umgang mit Git und GitHub, der führenden Plattform für Versionskontrolle und Kollaboration. Von den ersten Commits bis zu fortgeschrittenen Branching-Strategien und Pull Requests bietet der Kurs eine umfassende Einführung. Sie werden praxisnah GitHub-Workflows anwenden, Merges und Konflikte lösen sowie Releases verwalten. Hands-on Aufgaben vertiefen Ihr Wissen und bereiten Sie darauf vor, Git und GitHub sicher in Ihren Projekten einzusetzen. Dieser Kurs richtet sich sowohl an Einsteiger als auch an Entwickler, die ihre GitHub-Kenntnisse erweitern möchten.

3 Tage Vollzeit Online

Nächster Termin: 24. März 2025
Preis pro Person: 1200,00 EUR

Rabattaktion: 3 für den Preis von 2!