Docker belegt Speicher auf meinem Mac

Docker Desktop legt alles in einer Datei ab. Sie wächst mit jedem Build, und Images zu löschen macht sie nicht kleiner. Hier steht, warum — und was den Platz wirklich zurückholt.

Kostenlos zum Herunterladen und Scannen. Zum Aufräumen ist eine Lizenz nötig: eine Zahlung pro Computer, Mac oder Windows.

Speicher: Treemap eines 297,8 GB großen Benutzerordners nach Kategorie

Wo der Platz steckt

Auf dem Mac hält Docker Desktop alles in einer virtuellen Linux-Maschine, und die gesamte Festplatte dieser Maschine ist eine einzige Sparse-Datei:

~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw

Prüfen Sie die echte Größe auf der Festplatte — nicht die logische, die immer dem Maximum entspricht, das Sie Docker erlaubt haben:

du -h -d0 ~/Library/Containers/com.docker.docker/Data/vms/0/data/

Warum das Löschen von Images sie nicht verkleinert

Löschen Sie ein Image, wird der Platz nur innerhalb der virtuellen Maschine frei. Die Datei auf Ihrem Mac bleibt so groß, wie sie war, weil macOS ihr so viel bereits zugeteilt hat. Neuere Versionen von Docker Desktop senden TRIM aus der VM heraus, wodurch macOS die freigegebenen Blöcke zurückholen kann, aber das geschieht nach Dockers Zeitplan und nicht in dem Moment, in dem Sie aufräumen. Bis dahin meldet docker system df Gigabyte an Freigabe, während der Finder überhaupt keine Änderung zeigt.

Den Platz zurückholen

Der Reihe nach: das Harmloseste zuerst.

1. Docker nach seinen eigenen Summen fragen

Beginnen Sie immer hier. Es trennt Images, Container, Volumes und Build-Cache und sagt Ihnen, wie viel davon jeweils rückholbar ist.

docker system df -v

2. Den Build-Cache leeren

Auf einer Maschine, die regelmäßig Images baut, ist das meist der größte Einzelposten und zugleich der ungefährlichste — es macht nur den nächsten Build langsamer.

docker builder prune -a

3. Aufräumen, was wirklich ungenutzt ist

Gestoppte Container, verwaiste Images und ungenutzte Netzwerke:

docker system prune

Fügen Sie -a hinzu, um auch jedes Image zu entfernen, das kein laufender Container nutzt — das heißt, Sie ziehen sie später neu. Fügen Sie nur dann --volumes hinzu, wenn Sie sicher sind: in Volumes liegen die Daten Ihrer Datenbanken, und das ist der eine Befehl auf dieser Seite, der etwas zerstört, das Sie nicht neu herunterladen können.

4. Volumes auflisten, bevor Sie sie anfassen

Sehen Sie nach, was tatsächlich verschwinden würde:

docker volume ls
docker volume ls -f dangling=true

5. macOS die Datei zurückholen lassen

Nach dem Prune hat Docker Desktop einen vorgesehenen Weg, die freien Blöcke zurückzugeben: Einstellungen → Ressourcen → Erweitert → Speicherbelegung, oder Docker Desktop beenden und neu öffnen, was beim Start TRIM auslöst. Geben Sie ihm eine Minute und prüfen Sie die Dateigröße erneut, bevor Sie entscheiden, dass es nicht funktioniert hat.

6. Das Festplattenlimit senken

Unter Einstellungen → Ressourcenlegt das virtuelle Festplattenlimit fest, wie groß Docker.raw werden darf. Es zu senken gibt für sich genommen nichts frei, deckelt aber das Problem. Es „sicherheitshalber“ zu erhöhen ist der Grund, warum die Datei 64 GB erreicht hat.

7. Das letzte Mittel

Einstellungen → Fehlerbehebung → Clean / Purge data setzt die Festplatte der VM vollständig zurück und bringt die Datei fast auf null. Es löscht jedes Image, jeden Container und jedes Volume, das Sie haben. Nutzen Sie es, wenn nichts anderes geholfen hat und Sie wissen, was in Ihren Volumes liegt.

Löschen Sie Docker.raw nicht im Finder. Es ist keine Cache-Datei — es sind die Daten der gesamten Docker-Installation, und sie zu entfernen, während Docker läuft, kann die VM in einem Zustand hinterlassen, der ohnehin einen Reset braucht.

Ebenfalls einen Blick wert

Docker ist selten allein

Auf dem Mac, auf dem Docker 50 GB erreicht hat, liegen Xcodes DerivedData und lokale KI-Modelle meist knapp dahinter. Wenn Sie Platz zurückholen, lohnt es sich, die ganze Festplatte einmal zu messen, statt eine Sache nach der anderen zu reparieren. Die vollständige Liste

Unter Linux gibt es keine Abbilddatei

Docker schreibt unter Linux direkt nach /var/lib/docker, ein Prune gibt den Platz also sofort frei und nichts vom TRIM-Problem oben trifft zu. Linux-Festplatte aufräumen

Fragen

Ist es sicher, Docker.raw zu löschen?

Nicht aus dem Finder heraus, und nicht während Docker läuft. Diese eine Datei ist jedes Image, jeder Container und jedes Volume, das Sie haben. Wenn Sie wirklich sauber anfangen wollen, nutzen Sie in Docker Desktop Fehlerbehebung → Clean / Purge data, was dasselbe auf eine Art tut, von der Docker weiß.

Warum sagt docker system prune, es habe 20 GB frei gemacht, während sich nichts ändert?

Weil es 20 GB innerhalb des VM-Dateisystems freigegeben hat, nicht auf Ihrem Mac. Die Datei behält ihre Größe, bis TRIM läuft und macOS die Blöcke zurückholt. Docker Desktop zu beenden und neu zu öffnen löst das meist aus.

Löscht docker system prune meine Datenbanken?

Nur wenn Sie --volumeshinzufügen. Ohne dieses Flag lässt es Volumes in Ruhe. Mit ihm verschwindet jedes Volume, das an keinem Container hängt, und das Volume einer gestoppten Datenbank gilt als nicht angehängt.

Wie groß sollte Docker.raw sein?

Es gibt keine richtige Antwort, aber auf einer Maschine mit einer Handvoll aktiver Projekte sind 15 bis 25 GB normal, und 60 GB heißt, dass der Build-Cache nie geleert wurde. Prüfen Sie mit docker system df -v , bevor Sie annehmen, es seien die Images.