Docker prune entfernt unnötige Objekte wie gestoppte Container, nicht ver­wen­de­te Volumes, alte Netzwerke oder Images. Auf diese Weise op­ti­mierst du die Fest­plat­ten­nut­zung und gibst wert­vol­len Spei­cher­platz frei.

Was ist Docker prune?

Docker prune bzw. system prune ist ideal, um nicht mehr benötigte Docker-Res­sour­cen sys­te­ma­tisch zu be­rei­ni­gen und so Speicher zu gewinnen. Wenn Docker-Container, Images, Netzwerke und Volumes über längere Zeit ungenutzt bleiben, belegen sie oft massiv Spei­cher­platz. Mit prune be­sei­tigst du diese Altlasten schnell und hältst dein System sauber sowie per­for­mant.

Gerade in Ent­wick­lungs­um­ge­bun­gen, in denen ständig neue Container getestet werden, sammeln sich schnell veraltete Objekte an. Docker prune räumt nicht nur Container und Images auf, sondern auch verwaiste Netzwerke und Volumes. Das ver­ein­facht die Ver­wal­tung deiner Docker-Res­sour­cen spürbar und ver­hin­dert ein über­la­de­nes System.

Wofür wird Docker prune ein­ge­setzt?

Das prune-Kommando hilft dir in ver­schie­de­nen All­tags­sze­na­ri­en mit Docker. Hier sind vier typische An­wen­dungs­fäl­le für dich zu­sam­men­ge­fasst.

Ar­beits­pro­zes­se op­ti­mie­ren: Docker-Um­ge­bun­gen werden oft intensiv für Ent­wick­lung und Pro­duk­ti­on genutzt. Ohne re­gel­mä­ßi­gen Hausputz sammeln sich Res­sour­cen an, die die Sys­tem­leis­tung bremsen können. Indem Docker prune un­ge­nutz­te Elemente entfernt, nutzt du deine Ka­pa­zi­tä­ten ef­fi­zi­en­ter. Das ist besonders in Cloud-Um­ge­bun­gen wichtig, um die Kosten für Speicher und Re­chen­power im Griff zu behalten.

Si­cher­heit erhöhen: Veraltete Docker-Res­sour­cen können zum Si­cher­heits­ri­si­ko werden. Docker prune löscht un­ge­nutz­te Container und Images, wodurch po­ten­zi­ell unsichere Kom­po­nen­ten ver­schwin­den. Ein auf­ge­räum­tes Docker-Ökosystem minimiert die An­griffs­flä­che und stärkt die Si­cher­heit deiner gesamten IT-In­fra­struk­tur.

Leistung steigern: Ein über­la­de­nes System belastet CPU und Speicher unnötig. Durch die re­gel­mä­ßi­ge Be­rei­ni­gung mit Docker prune schaffst du Platz und steigerst die Effizienz bei der Container-Ver­wal­tung. Das sorgt für kürzere La­de­zei­ten, schnel­le­re De­ploy­ments und eine bessere Re­ak­ti­ons­fä­hig­keit deiner An­wen­dun­gen.

Ver­ein­fach­te Wartung: Mit Docker prune wird die Wartung deiner Umgebung zum Kin­der­spiel. Das Entfernen un­ge­nutz­ter Res­sour­cen reduziert die Kom­ple­xi­tät für dich und dein Team. Es fällt leichter, den Überblick über aktive Kom­po­nen­ten zu behalten, was die Feh­ler­su­che be­schleu­nigt. So bleibt mehr Zeit für die ei­gent­li­che Ent­wick­lung deiner Projekte.

Syntax: Wie wird Docker prune verwendet?

Du möchtest deine Docker-Umgebung aufräumen und Spei­cher­platz freigeben? Nutze einfach den folgenden Befehl, um die Dienste von prune zu starten:

docker system prune
bash

Stan­dard­mä­ßig werden gestoppte Container, alte Images, Netzwerke und un­ge­nutz­te Volumes zur Löschung vor­ge­schla­gen. Docker fragt dich nach einer Be­stä­ti­gung. Bestätige mit y und der Ein­ga­be­tas­te. Willst du den Prozess be­schleu­ni­gen, über­sprin­ge die Abfrage mit der Option -f:

docker system prune -f
bash

Tipp: Schau dir am besten vorher an, welche Res­sour­cen aktuell vorhanden sind. Mit diesen Befehlen erhältst du eine Liste aller Container, Images, Netzwerke und Volumes:

docker ps -a
docker images
docker volume ls
docker network ls
bash

Docker prune Optionen

Diese Tabelle zeigt dir die wich­tigs­ten Optionen für docker system prune im Überblick.

Option Be­schrei­bung
--all, -a Löscht sämtliche un­ge­nutz­ten Docker-Res­sour­cen.
--force, -f Bereinigt das System ohne zu­sätz­li­che Be­stä­ti­gung.
--volumes Entfernt gezielt un­ge­nutz­te Volumes.
--filter, -f Er­mög­licht das Filtern nach be­stimm­ten Kriterien.
--help Öffnet die Hilfe für den Befehl.

Docker prune: Tutorial zur prak­ti­schen Anwendung

Docker bietet dir gezielte Befehle, um Res­sour­cen­ar­ten separat zu be­rei­ni­gen. So behältst du die volle Kontrolle darüber, was gelöscht wird.

Docker prune --filter

Mit Filtern steuerst du präzise, welche Container, Images oder Volumes entfernt werden. Das ist besonders in dy­na­mi­schen Ent­wick­lungs­um­ge­bun­gen hilfreich, um temporäre Res­sour­cen schnell los­zu­wer­den.

Die all­ge­mei­ne Syntax lautet:

docker <command> prune --filter "filter=<value>"
bash

Hier sind einige Fil­ter­op­tio­nen für dich:

  • until: Filtert Res­sour­cen nach ihrem Alter. <duration> nutzt Einheiten wie h (Stunden), m (Minuten) oder s (Sekunden).
docker <command> prune --filter "until=<duration>"
bash

Beispiel: Alle ge­stopp­ten Container löschen, die älter als 24 Stunden sind

docker container prune --filter "until=24h"
bash
  • label: Filtert Res­sour­cen anhand ihrer Docker-Labels
docker <command> prune --filter "label=<label>"
bash

Beispiel: Alle un­ge­nutz­ten Volumes mit dem Label mylabel be­rei­ni­gen

docker volume prune --filter "label=mylabel"
bash
  • dangling: Filtert Images, die nicht mehr aktiv von Con­tai­nern genutzt werden
docker <command> prune --filter "dangling=true"
bash

Beispiel: Alle “dangling” Images (ohne Tag) entfernen

docker image prune --filter "dangling=true"
bash

Zu­sätz­lich gibt es noch spe­zi­fi­sche­re Filter je nach Res­sour­cen­typ:

  • before und since für Images: Filtert nach Er­stel­lungs­zeit­punkt.
  • exited für Container: Filtert nach dem Exit-Status (z. B. exited=0 für Erfolg).

Docker-Res­sour­cen entfernen

Schritt 1: Öffne dein Terminal oder die Kom­man­do­zei­le.

Schritt 2: Nutze Docker prune für den Hausputz:

docker {resource} prune
bash

Ersetze {resource} einfach durch den ge­wünsch­ten Typ: container, image, volume oder network.

Docker-Container entfernen

Nor­ma­ler­wei­se löscht Docker Container nicht au­to­ma­tisch nach deren Ende. Prüfe daher re­gel­mä­ßig gestoppte Container, um blo­ckier­te Res­sour­cen für neue Aufgaben frei­zu­ge­ben. Du hast zwei Mög­lich­kei­ten:

  • docker rm: Mit docker rm entfernst du Container manuell. Das ist ideal, wenn du gezielt einzelne Instanzen löschen willst. Gib dazu einfach die IDs oder Namen der Container an.

Hier ein Beispiel für die Container container1 und container2:

docker rm container1 container2
bash
  • docker container prune: Mit docker container prune löschst du hingegen alle ge­stopp­ten Container gleich­zei­tig. So gewinnst du effizient Platz, ohne jeden Container einzeln anfassen zu müssen.
docker container prune
bash

Docker zeigt dir alle be­trof­fe­nen Container an und bittet um Be­stä­ti­gung. In Um­ge­bun­gen mit vielen tem­po­rä­ren Con­tai­nern sparst du so eine Menge Zeit.

Nutze docker container prune re­gel­mä­ßig für deine Sys­tem­pfle­ge, damit dein Workflow glatt läuft. docker rm ist perfekt, wenn du volle Kontrolle über einzelne Lösch­vor­gän­ge brauchst.

Docker-Images entfernen

Docker-Images sind das Fundament deiner Container. Durch Updates bleiben oft alte Versionen als so­ge­nann­te „dangling“-Images zurück. Diese fressen Spei­cher­platz und können die Übersicht er­schwe­ren.

Mit Docker prune wirst du diese Altlasten los:

docker image prune [Options]
bash

Hilf­rei­che Optionen sind dabei:

  • -a, --all: Entfernt zu­sätz­lich alle un­be­nutz­ten Images, auch solche ohne Tags.
docker image prune -a
bash
  • -f, --force: Damit über­springst du die Be­stä­ti­gung und startest die Be­rei­ni­gung sofort.
docker image prune -f
bash

Alle Docker-Images entfernen

Du kannst auch Tabula rasa machen und alle un­be­nutz­ten Images auf einmal löschen. Öffne dein Terminal und gib diesen Befehl ein:

docker image prune -a --force
bash

Sei dir dabei sicher, was gelöscht werden soll. Mit der Option -a ver­schwin­den eventuell auch Images, die du später nochmals verwenden wolltest.

Docker-Volumes entfernen

Volumes sind per­sis­tent und speichern Daten auch dann, wenn der Container weg ist. Das kann mit der Zeit zu großem Spei­cher­be­darf führen.

docker volume prune
bash

Dieser Befehl findet alle Volumes ohne aktive Container. Du erhältst eine Liste zur Prüfung und musst die Löschung kurz be­stä­ti­gen.

Brauchst du mehr Präzision? Mit docker volume rm löschst du gezielt einzelne Volumes. Nutze dafür docker volume rm zusammen mit dem Namen oder der ID:

docker volume rm volume_name
bash

Achtung: Dieser Befehl löscht Daten un­wi­der­ruf­lich – prüfe also vorher genau, ob du das Volume noch brauchst.

Docker-Netzwerke entfernen

Netzwerke lassen deine Container kom­mu­ni­zie­ren. Diese Docker-Netzwerke bleiben oft bestehen, auch wenn die Container längst gelöscht sind. docker prune network ist der ein­fachs­te Weg, um diese digitalen Überreste los­zu­wer­den.

Der Befehl sieht so aus:

docker network prune [OPTIONS]
bash

Docker listet alle un­ge­nutz­ten Netzwerke auf und löscht sie nach deiner Be­stä­ti­gung.

Docker prune: Best Practices

  • Au­to­ma­ti­sie­rung nutzen: Nutze Skripte, um Images und Container re­gel­mä­ßig zu be­rei­ni­gen. So bleibt dein System dauerhaft per­for­mant.
  • Updates ein­spie­len: Halte deine Docker-Engine und die Images aktuell, um Si­cher­heits­lü­cken keine Chance zu geben.
  • Mo­ni­to­ring: Überwache deine Container mit Tools, um früh­zei­tig ein­zu­grei­fen, bevor Res­sour­cen knapp werden.
  • Backups machen: Sichere wichtige Daten aus deinen Con­tai­nern re­gel­mä­ßig extern ab, zum Beispiel Da­ten­ban­ken oder Configs.
  • Vorher prüfen: Ein kurzer Blick auf die Res­sour­cen­lis­te vor dem Löschen ver­hin­dert ver­se­hent­li­chen Da­ten­ver­lust.
Tipp

Stehst du noch am Anfang? Dann schau dir unser großes Docker Tutorial an.

Zum Hauptmenü