Docker

Docker prune richtig nutzen: Container, Images und Volumes aufräumen

Mit docker prune entfernst du ungenutzte Container, Images und Volumes und schaffst wieder freien Speicher. Inklusive Beispiele und Best Practices für echte Projekte.


4 Minuten Lesezeit
01 Nov 2024

Übersicht über prune

Der docker prune-Befehl umfasst mehrere Varianten, mit denen sich unterschiedliche Arten ungenutzter Ressourcen entfernen lassen. In der Praxis sammeln sich diese Ressourcen oft schneller an als erwartet – insbesondere in Projekten mit häufigen Builds oder Deployments.

Gerade in Backend-Systemen, etwa bei Django-Anwendungen mit Docker, kann fehlendes Cleanup langfristig zu Speicherproblemen und instabilen Umgebungen führen.


Entfernen gestoppter Container

Gestoppte Container bleiben nach ihrer Ausführung bestehen und belegen weiterhin Speicher. In lokalen Entwicklungsumgebungen fällt das oft nicht sofort auf, in produktionsnahen Setups jedoch schon.

Mit folgendem Befehl entfernst Du alle gestoppten Container:

docker container prune

Docker fragt standardmäßig nach einer Bestätigung. Für automatisierte Abläufe – etwa in CI/CD-Pipelines – wird meist direkt die --force-Option verwendet:

docker container prune --force

Nach der Ausführung bleiben ausschließlich laufende Container erhalten.


Entfernen nicht genutzter Volumes

Volumes speichern Daten unabhängig vom Lebenszyklus eines Containers. Genau das ist ihr Zweck – führt aber auch dazu, dass sich schnell verwaiste Volumes ansammeln.

Diese lassen sich mit folgendem Befehl entfernen:

docker volume prune

Auch hier kannst Du die Bestätigung überspringen:

docker volume prune --force

Gelöscht werden alle Volumes, die aktuell von keinem Container verwendet werden.


Entfernen nicht referenzierter Images

Mit der Zeit entstehen viele Images, insbesondere sogenannte „dangling images“. Diese haben keine Referenz mehr und sind häufig das Ergebnis von Builds.

Zum Entfernen:

docker image prune

Oder ohne Rückfrage:

docker image prune --force

Wenn Du zusätzlich alle nicht verwendeten Images entfernen möchtest (nicht nur „dangling“), kannst Du die Option --all verwenden:

docker image prune --all

Dabei solltest Du vorsichtig sein, da auch Images gelöscht werden, die möglicherweise später wieder benötigt werden.


Entfernen ungenutzter Netzwerke

Docker erstellt für Container häufig eigene Netzwerke, die nach deren Beendigung bestehen bleiben.

Diese kannst Du so bereinigen:

docker network prune

Oder ohne Bestätigung:

docker network prune --force

Gelöscht werden alle Netzwerke, die aktuell nicht aktiv genutzt werden.


Entfernen aller ungenutzten Ressourcen

Wenn Du eine vollständige Bereinigung durchführen möchtest, kannst Du alle genannten Schritte zusammenfassen:

docker system prune

Mit --force entfällt die Nachfrage:

docker system prune --force

Standardmäßig bleiben Volumes erhalten. Falls auch diese entfernt werden sollen:

docker system prune --all --volumes

Dieser Befehl führt eine vollständige Bereinigung durch und entfernt sämtliche ungenutzten Ressourcen.


Beispiel aus der Praxis

In einer typischen Entwicklungsumgebung oder einem Projekt mit häufigen Deployments sammelt sich schnell eine große Menge an ungenutzten Ressourcen an.

Ein strukturierter Cleanup könnte so aussehen:

Zuerst entfernst Du gestoppte Container:

docker container prune --force

Anschließend werden nicht mehr benötigte Images gelöscht:

docker image prune --all --force

Danach bereinigst Du die Volumes:

docker volume prune --force

Und zum Schluss die Netzwerke:

docker network prune --force

Alternativ kannst Du diesen Prozess auch in einem Schritt durchführen:

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

Docker ist nur ein Teil der Lösung

Diese Befehle helfen dabei, Symptome zu beheben – nämlich angesammelte Ressourcen. In realen Projekten liegt die Ursache jedoch oft tiefer: in unklaren Deployments, fehlender Struktur oder inkonsistentem Umgang mit Containern.

Gerade bei Django-Projekten zeigt sich schnell, dass saubere Architektur, klare Trennung von Services und kontrollierte Deployments entscheidend sind.

Wenn Dich interessiert, wie ein wartbares Projekt strukturiert sein sollte, findest Du hier eine ausführliche Erklärung:

Wie ein wartbares Django-Projekt aufgebaut ist

Online- und Präsenzkurse zum Thema

Finden Sie interessante und zum Thema passende Kurse

Docker - Grundlagen

In diesem zweitägigen Vollzeitseminar lernen Sie, was Container sind und wie Sie Docker gezielt erstellen, verwalten und in Projekten einsetzen. Der Fokus liegt auf einem fundierten Verständnis von Docker von Grund auf und der praxisnahen Anwendung in realen Entwicklungs­szenarien.

2 Tage Vollzeit Online

  • Nächster Termin: 20. April 2026
  • Preis p.P.: 900,00 EUR (inkl. MwSt. 1071,0 EUR)

Git Schulung: Einführung

In diesem zweitägigen Git- & GitHub-Einführungskurs lernen Sie, Versionskontrolle sicher und praxisnah einzusetzen. Von den ersten Commits bis zur Zusammenarbeit mit Branches und Pull Requests erwerben Sie genau das Wissen, das Sie für effiziente Teamarbeit und saubere Projektabläufe benötigen.

2 Tage Vollzeit Online

  • Nächster Termin: 4. Mai 2026
  • Preis p.P.: 1200,00 EUR (inkl. MwSt. 1428,0 EUR)

Unsicher, welcher Kurs für Sie passt?

Gerne unterstütze ich Sie bei der Auswahl oder stelle eine individuell passende Schulung für Ihre Anforderungen zusammen.

Beratung anfordern