Docker prune Tutorial: Syntax und Anwendungsbeispiele
Docker prune entfernt unnötige Objekte wie gestoppte Container, nicht verwendete Volumes, alte Netzwerke oder Images. Auf diese Weise optimierst du die Festplattennutzung und gibst wertvollen Speicherplatz frei.
Was ist Docker prune?
Docker prune bzw. system prune ist ideal, um nicht mehr benötigte Docker-Ressourcen systematisch zu bereinigen und so Speicher zu gewinnen. Wenn Docker-Container, Images, Netzwerke und Volumes über längere Zeit ungenutzt bleiben, belegen sie oft massiv Speicherplatz. Mit prune beseitigst du diese Altlasten schnell und hältst dein System sauber sowie performant.
Gerade in Entwicklungsumgebungen, 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 vereinfacht die Verwaltung deiner Docker-Ressourcen spürbar und verhindert ein überladenes System.
Wofür wird Docker prune eingesetzt?
Das prune-Kommando hilft dir in verschiedenen Alltagsszenarien mit Docker. Hier sind vier typische Anwendungsfälle für dich zusammengefasst.
Arbeitsprozesse optimieren: Docker-Umgebungen werden oft intensiv für Entwicklung und Produktion genutzt. Ohne regelmäßigen Hausputz sammeln sich Ressourcen an, die die Systemleistung bremsen können. Indem Docker prune ungenutzte Elemente entfernt, nutzt du deine Kapazitäten effizienter. Das ist besonders in Cloud-Umgebungen wichtig, um die Kosten für Speicher und Rechenpower im Griff zu behalten.
Sicherheit erhöhen: Veraltete Docker-Ressourcen können zum Sicherheitsrisiko werden. Docker prune löscht ungenutzte Container und Images, wodurch potenziell unsichere Komponenten verschwinden. Ein aufgeräumtes Docker-Ökosystem minimiert die Angriffsfläche und stärkt die Sicherheit deiner gesamten IT-Infrastruktur.
Leistung steigern: Ein überladenes System belastet CPU und Speicher unnötig. Durch die regelmäßige Bereinigung mit Docker prune schaffst du Platz und steigerst die Effizienz bei der Container-Verwaltung. Das sorgt für kürzere Ladezeiten, schnellere Deployments und eine bessere Reaktionsfähigkeit deiner Anwendungen.
Vereinfachte Wartung: Mit Docker prune wird die Wartung deiner Umgebung zum Kinderspiel. Das Entfernen ungenutzter Ressourcen reduziert die Komplexität für dich und dein Team. Es fällt leichter, den Überblick über aktive Komponenten zu behalten, was die Fehlersuche beschleunigt. So bleibt mehr Zeit für die eigentliche Entwicklung deiner Projekte.
Syntax: Wie wird Docker prune verwendet?
Du möchtest deine Docker-Umgebung aufräumen und Speicherplatz freigeben? Nutze einfach den folgenden Befehl, um die Dienste von prune zu starten:
docker system prunebashStandardmäßig werden gestoppte Container, alte Images, Netzwerke und ungenutzte Volumes zur Löschung vorgeschlagen. Docker fragt dich nach einer Bestätigung. Bestätige mit y und der Eingabetaste. Willst du den Prozess beschleunigen, überspringe die Abfrage mit der Option -f:
docker system prune -fbashTipp: Schau dir am besten vorher an, welche Ressourcen 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 lsbashDocker prune Optionen
Diese Tabelle zeigt dir die wichtigsten Optionen für docker system prune im Überblick.
| Option | Beschreibung |
|---|---|
--all, -a
|
Löscht sämtliche ungenutzten Docker-Ressourcen. |
--force, -f
|
Bereinigt das System ohne zusätzliche Bestätigung. |
--volumes
|
Entfernt gezielt ungenutzte Volumes. |
--filter, -f
|
Ermöglicht das Filtern nach bestimmten Kriterien. |
--help
|
Öffnet die Hilfe für den Befehl. |
Docker prune: Tutorial zur praktischen Anwendung
Docker bietet dir gezielte Befehle, um Ressourcenarten separat zu bereinigen. 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 dynamischen Entwicklungsumgebungen hilfreich, um temporäre Ressourcen schnell loszuwerden.
Die allgemeine Syntax lautet:
docker <command> prune --filter "filter=<value>"bashHier sind einige Filteroptionen für dich:
until: Filtert Ressourcen nach ihrem Alter.<duration>nutzt Einheiten wieh(Stunden),m(Minuten) oders(Sekunden).
docker <command> prune --filter "until=<duration>"bashBeispiel: Alle gestoppten Container löschen, die älter als 24 Stunden sind
docker container prune --filter "until=24h"bashlabel: Filtert Ressourcen anhand ihrer Docker-Labels
docker <command> prune --filter "label=<label>"bashBeispiel: Alle ungenutzten Volumes mit dem Label mylabel bereinigen
docker volume prune --filter "label=mylabel"bashdangling: Filtert Images, die nicht mehr aktiv von Containern genutzt werden
docker <command> prune --filter "dangling=true"bashBeispiel: Alle “dangling” Images (ohne Tag) entfernen
docker image prune --filter "dangling=true"bashZusätzlich gibt es noch spezifischere Filter je nach Ressourcentyp:
beforeundsincefür Images: Filtert nach Erstellungszeitpunkt.exitedfür Container: Filtert nach dem Exit-Status (z. B.exited=0für Erfolg).
Docker-Ressourcen entfernen
Schritt 1: Öffne dein Terminal oder die Kommandozeile.
Schritt 2: Nutze Docker prune für den Hausputz:
docker {resource} prunebashErsetze {resource} einfach durch den gewünschten Typ: container, image, volume oder network.
Docker-Container entfernen
Normalerweise löscht Docker Container nicht automatisch nach deren Ende. Prüfe daher regelmäßig gestoppte Container, um blockierte Ressourcen für neue Aufgaben freizugeben. Du hast zwei Möglichkeiten:
docker rm: Mitdocker rmentfernst 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 container2bashdocker container prune: Mitdocker container prunelöschst du hingegen alle gestoppten Container gleichzeitig. So gewinnst du effizient Platz, ohne jeden Container einzeln anfassen zu müssen.
docker container prunebashDocker zeigt dir alle betroffenen Container an und bittet um Bestätigung. In Umgebungen mit vielen temporären Containern sparst du so eine Menge Zeit.
Nutze docker container prune regelmäßig für deine Systempflege, damit dein Workflow glatt läuft. docker rm ist perfekt, wenn du volle Kontrolle über einzelne Löschvorgänge brauchst.
Docker-Images entfernen
Docker-Images sind das Fundament deiner Container. Durch Updates bleiben oft alte Versionen als sogenannte „dangling“-Images zurück. Diese fressen Speicherplatz und können die Übersicht erschweren.
Mit Docker prune wirst du diese Altlasten los:
docker image prune [Options]bashHilfreiche Optionen sind dabei:
-a,--all: Entfernt zusätzlich alle unbenutzten Images, auch solche ohne Tags.
docker image prune -abash-f,--force: Damit überspringst du die Bestätigung und startest die Bereinigung sofort.
docker image prune -fbashAlle Docker-Images entfernen
Du kannst auch Tabula rasa machen und alle unbenutzten Images auf einmal löschen. Öffne dein Terminal und gib diesen Befehl ein:
docker image prune -a --forcebashSei dir dabei sicher, was gelöscht werden soll. Mit der Option -a verschwinden eventuell auch Images, die du später nochmals verwenden wolltest.
Docker-Volumes entfernen
Volumes sind persistent und speichern Daten auch dann, wenn der Container weg ist. Das kann mit der Zeit zu großem Speicherbedarf führen.
docker volume prunebashDieser Befehl findet alle Volumes ohne aktive Container. Du erhältst eine Liste zur Prüfung und musst die Löschung kurz bestätigen.
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_namebashAchtung: Dieser Befehl löscht Daten unwiderruflich – prüfe also vorher genau, ob du das Volume noch brauchst.
Docker-Netzwerke entfernen
Netzwerke lassen deine Container kommunizieren. Diese Docker-Netzwerke bleiben oft bestehen, auch wenn die Container längst gelöscht sind. docker prune network ist der einfachste Weg, um diese digitalen Überreste loszuwerden.
Der Befehl sieht so aus:
docker network prune [OPTIONS]bashDocker listet alle ungenutzten Netzwerke auf und löscht sie nach deiner Bestätigung.
Docker prune: Best Practices
- Automatisierung nutzen: Nutze Skripte, um Images und Container regelmäßig zu bereinigen. So bleibt dein System dauerhaft performant.
- Updates einspielen: Halte deine Docker-Engine und die Images aktuell, um Sicherheitslücken keine Chance zu geben.
- Monitoring: Überwache deine Container mit Tools, um frühzeitig einzugreifen, bevor Ressourcen knapp werden.
- Backups machen: Sichere wichtige Daten aus deinen Containern regelmäßig extern ab, zum Beispiel Datenbanken oder Configs.
- Vorher prüfen: Ein kurzer Blick auf die Ressourcenliste vor dem Löschen verhindert versehentlichen Datenverlust.
Stehst du noch am Anfang? Dann schau dir unser großes Docker Tutorial an.