Docker container aufräumen prune

Voraussetzungen

Überblick: Was macht docker container prune?

docker container prune entfernt alle gestoppten Container. Laufende Container bleiben erhalten. Es löscht keine Volumes oder Images (außer du verwendest docker system prune), kann aber gelöschte Container-IDs und damit Historie/Logs entfernen.

Schritt 1: Aktuelle Container prüfen

Bevor du etwas löschst, prüfe den aktuellen Status und identifiziere, was gelöscht werden könnte.

# Alle Container anzeigen (laufend + gestoppt)
docker ps -a

# Nur gestoppte Container anzeigen
docker ps -a --filter "status=exited"

# Optional: Platzverbrauch anzeigen
docker system df

Lese die Liste durch und stelle sicher, dass keine Container mit wichtigen Daten oder noch benötigten Logs darunter sind.

Schritt 2: Gestoppte Container selektiv löschen

Wenn du nur bestimmte gestoppte Container entfernen willst, verwende docker rm mit IDs oder Namen.

Warnung: Entfernen ist dauerhaft. Erstelle vorher Backups relevanter Daten (z. B. aus Volumes oder mit docker cp).

# Beispiel: mehrere Container entfernen
docker rm container1 container2

# Alle gestoppten Container per Kommandozeile an `docker rm` übergeben
docker rm $(docker ps -a -q -f status=exited)

Achte bei $(...)-Konstrukten auf korrekte Shell-Expansion; wenn die Liste leer ist, kann ein Fehler auftreten. Sicherer: docker ps -a -q -f status=exited | xargs -r docker rm (GNU xargs) oder prüfe vorher, ob Ausgabe vorhanden ist.

Schritt 3: Alle gestoppten Container mit docker container prune

Wenn du wirklich alle gestoppten Container entfernen willst, ist docker container prune dafür gedacht.

Warnung: Dieses Kommando löscht dauerhaft alle gestoppten Container. Erstelle Backups wichtiger Daten (Volumes, konfigurierte Dateien) bevor du fortfährst.

# Interaktiver Modus: fragt vor dem Löschen
docker container prune

# Für automatisches Bestätigen (nicht empfohlen ohne Backup)
# Warnung: --force löscht ohne Rückfrage
docker container prune --force

Hinweis zu “dry run”: Docker hat kein nativen --dry-run für prune. Um eine Trockenübung zu machen, liste zuerst die zu löschenden Container:

# "Dry run": zeigt, was gelöscht würde
docker ps -a --filter "status=exited" --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"

Das erlaubt dir, die Zielmenge zu prüfen, bevor du prune ausführst.

Schritt 4: Weiteres Aufräumen — Images, Volumes, Netzwerke

Wenn du zusätzlich nicht verwendete Images, Volumes oder Netzwerke löschen willst, gibt es docker system prune. Das ist deutlich umfassender.

Warnung: docker system prune kann Images und ungenutzte Volumes löschen, was zu Datenverlust führen kann (z. B. wenn Volumes wichtige State-Dateien enthalten). Backup vorher!

# Nur ungenutzte Dinge (fragt nach Bestätigung)
docker system prune

# Alle ungenutzten Images (auch nicht dangling), Container, Netzwerke löschen
docker system prune --all

# Volumes ebenfalls einschließen (vorsichtig!)
docker system prune --volumes

Verwende --force für kein Bestätigungs-Prompt, aber nur wenn du sicher bist.

Schritt 5: Alle Container stoppen und löschen

Wenn Ziel ist, wirklich alle Container (laufende + gestoppte) zu entfernen:

Warnung: Stoppen und Löschen laufender Container beendet Prozesse und kann Datenverlust verursachen. Backup wichtige Daten.

# Alle Container stoppen
docker stop $(docker ps -q)

# Alle Container löschen
docker rm $(docker ps -a -q)

Bei leerer Liste: nutze xargs -r oder prüfe vorher. Auf Systemen ohne xargs -r kannst du mit Condition arbeiten:

containers=$(docker ps -a -q)
[ -n "$containers" ] && docker rm $containers

Podman vs. Docker kurz

Häufige Fehler und Troubleshooting

Abschließend: Handle vorsichtig bei prune und system prune. Prüfe immer zuerst mit den Listenbefehlen (docker ps -a, docker system df) und sichere persistente Daten bevor du Löschbefehle ausführst.

Kommst du an dieser Stelle nicht weiter oder funktioniert ein Schritt bei dir anders als beschrieben? Schreib uns einfach kurz, woran es hakt – schreib uns eine E-Mail, wir schauen es uns gemeinsam an.

Passende Themen

Häufige Fragen

Soll ich Docker oder Podman verwenden?

Beide haben ihre Berechtigung. Podman läuft standardmäßig rootless (potenziell sicherer), Docker hat das größere Ökosystem. Wir benennen die Unterschiede ehrlich statt einer Pauschalempfehlung.

Ist docker system prune gefährlich?

Es kann ungenutzte Container, Images und Volumes löschen - inklusive Daten, die noch gebraucht werden. Vor dem Ausführen immer prüfen, was betroffen ist, und wichtige Daten sichern.

Warum bekomme ich bei Docker eine Permission-Denied-Fehlermeldung?

Meist fehlt der eigene Nutzer in der docker-Gruppe. Das lässt sich beheben, sollte aber mit Bedacht gemacht werden, da Mitglieder dieser Gruppe root-ähnliche Rechte erhalten.