Egal ob Linux oder Windows, Docker erzeugt nach längerem Betrieb riesige Mengen an Mülldateien!
Heute habe ich einen Befehl gelernt, der auf einen Schlag 30 GB Speicherplatz auf meinem Windows-System freigegeben hat!
`docker system prune -a --volumes`** ist der offiziell bereitgestellte Ein-Klick-Befehl zur leistungsstarken Bereinigung, der sofort Dutzende von GB Festplattenspeicher freigeben kann.
*Hinweis vorab: Wenn Sie unsicher sind, ob Volumes beibehalten werden müssen, lesen Sie bitte die alternativen Lösungen am Ende des Artikels.*
## 1. Was löscht dieser Befehl?
Er löscht auf einen Schlag **alle ungenutzten** Ressourcen in Docker, insbesondere:
- **`-a` (oder `--all`)**: Löscht alle gestoppten Container und **alle Images, die nicht von laufenden Containern verwendet werden** (nicht mehr nur auf taglose, "dangling" Images beschränkt).
- **`--volumes`**: Löscht **alle Daten-Volumes, die nicht von Containern gemountet sind** (typischerweise verbleibende Datenbank- oder Anwendungsdaten).
- **Netzwerke und Caches**: Löscht ungenutzte Netzwerke und Build-Caches.
> ⚠️ **Kernprinzip**: Solange ein Container sich im Status **Running (wird ausgeführt)** befindet, werden die von ihm abhängigen Container, Images und Daten-Volumes **niemals** gelöscht.
## 2. Risikohinweis (Vor der Ausführung unbedingt lesen)
Bevor Sie die Eingabetaste drücken, stellen Sie bitte unbedingt sicher:
1. Sie haben keine wichtigen Container vorübergehend gestoppt, die Sie später wieder starten möchten.
2. Sie haben keine verwaisten Daten-Volumes (z. B. MySQL-Daten-Volumes) absichtlich für eine spätere Datenwiederherstellung zurückgelassen.
3. **Einmal gelöscht, können die Daten nicht wiederhergestellt werden!**
## 3. Praktische Anwendungsschritte
### 1. Überprüfung des Betriebsstatus
Stellen Sie zunächst sicher, dass alle wichtigen Container ausgeführt werden:
```Bash
docker ps
```
### 2. Bereinigung durchführen
Geben Sie den Befehl im Terminal ein:
```Bash
docker system prune -a --volumes
```
### 3. Bestätigung der Ausführung
Das System zeigt eine Warnung an und fragt nach, geben Sie **`y`** ein und drücken Sie die Eingabetaste:
```Plaintext
Are you sure you want to continue? [y/N] y
```
### 4. Ergebnis
Nach Abschluss der Bereinigung wird der freigegebene Speicherplatz unten angezeigt:
```Plaintext
Total reclaimed space: 14.52GB # Erfolgreich 14.52 GB Speicherplatz zurückgewonnen!
```
## Alternative Lösungen (Sanftere Bereinigung)
Die sanftere Methode besteht darin, die Parameter wegzulassen, wie folgt:
```Bash
# Löscht nur gestoppte Container und "dangling" Images (am sichersten, löscht keine großen Images und Daten)
docker system prune
# Löscht keine Daten-Volumes, nur gestoppte Container und ungenutzte Images
docker system prune -a
```