1. Zapytaj Dockera o jego własne sumy
Zawsze zacznij tutaj. Rozdziela obrazy, kontenery, woluminy i pamięć podręczną kompilacji i mówi, ile z każdego da się odzyskać.
docker system df -v
Docker Desktop trzyma wszystko w jednym pliku. Rośnie przy każdej kompilacji, a usuwanie obrazów nie czyni go mniejszym. Oto dlaczego i co naprawdę odzyskuje miejsce.
Bezpłatne pobieranie i skanowanie. Czyszczenie wymaga licencji: jedna płatność na komputer, Mac lub Windows.

Na Macu Docker Desktop trzyma wszystko w linuksowej maszynie wirtualnej, a cały dysk tej maszyny to jeden plik rzadki:
~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw
Sprawdź jego prawdziwy rozmiar na dysku — nie logiczny, który zawsze jest maksimum, na jakie pozwoliłeś Dockerowi:
du -h -d0 ~/Library/Containers/com.docker.docker/Data/vms/0/data/
Usuń obraz, a miejsce zwolni się tylko wewnątrz maszyny wirtualnej. Plik na twoim Macu pozostaje tak duży, jak był, bo macOS już mu tyle przydzielił. Nowsze wersje Docker Desktop wysyłają TRIM z wnętrza maszyny wirtualnej, dzięki czemu macOS może odzyskać zwolnione bloki, ale dzieje się to według harmonogramu Dockera, a nie w chwili, gdy robisz prune. Do tego czasu docker system df zgłasza gigabajty zwolnionego miejsca, podczas gdy Finder nie pokazuje żadnej zmiany.
Po kolei: najpierw to, co najmniej niszczące.
Zawsze zacznij tutaj. Rozdziela obrazy, kontenery, woluminy i pamięć podręczną kompilacji i mówi, ile z każdego da się odzyskać.
docker system df -v
Na maszynie, która regularnie buduje obrazy, to zwykle największa pojedyncza pozycja i najbezpieczniejsza do usunięcia — jedynie spowalnia kolejną kompilację.
docker builder prune -a
Zatrzymane kontenery, osierocone obrazy i nieużywane sieci:
docker system prune
Dodaj -a aby usunąć także każdy obraz nieużywany przez działający kontener — to znaczy, że pobierzesz je później ponownie. Poniższe dodaj --volumes tylko jeśli masz pewność: w woluminach bazy danych trzymają swoje dane, i to jedyne polecenie na tej stronie, które niszczy coś, czego nie pobierzesz ponownie.
Zobacz, co naprawdę by zniknęło:
docker volume ls
docker volume ls -f dangling=true
Po prune Docker Desktop ma przewidziany sposób na zwrócenie zwolnionych bloków: Ustawienia → Zasoby → Zaawansowane → Wykorzystanie dysku, albo zamknięcie i ponowne otwarcie Docker Desktop, co przy starcie wyzwala TRIM. Daj mu minutę i sprawdź rozmiar pliku ponownie, zanim uznasz, że nie zadziałało.
W Ustawienia → Zasobylimit dysku wirtualnego określa, jak duży może urosnąć Docker.raw. Obniżenie go samo w sobie niczego nie zwalnia, ale zakłada problemowi sufit. To, że podniosłeś go „na wszelki wypadek”, jest powodem, dla którego plik doszedł do 64 GB.
Ustawienia → Rozwiązywanie problemów → Clean / Purge data całkowicie resetuje dysk maszyny wirtualnej i sprowadza plik prawie do zera. Usuwa każdy obraz, kontener i wolumin, jaki masz. Użyj, gdy nic innego nie pomogło i wiesz, co jest w twoich woluminach.
Nie usuwaj Docker.raw w Finderze. To nie jest plik pamięci podręcznej — to dane całej instalacji Dockera, a usunięcie go przy działającym Dockerze może zostawić maszynę wirtualną w stanie, który i tak będzie wymagał resetu.
Na Macu, na którym Docker doszedł do 50 GB, DerivedData Xcode i lokalne modele AI są zwykle tuż za nim. Jeśli odzyskujesz miejsce, warto zmierzyć cały dysk raz, zamiast naprawiać po jednej rzeczy naraz. Pełna lista
Na Linuksie Docker zapisuje wprost do /var/lib/docker, więc prune zwalnia miejsce natychmiast i nic z powyższego problemu z TRIM nie ma zastosowania. Sprzątanie dysku na Linuksie
Nie z Findera i nie przy działającym Dockerze. Ten jeden plik to każdy obraz, kontener i wolumin, jaki masz. Jeśli naprawdę chcesz zacząć od zera, użyj w Docker Desktop Rozwiązywanie problemów → Clean / Purge data, co robi to samo w sposób, o którym Docker wie.
Bo zwolnił 20 GB wewnątrz systemu plików maszyny wirtualnej, a nie na twoim Macu. Plik zachowuje rozmiar, dopóki nie wykona się TRIM i macOS nie odzyska bloków. Zamknięcie i ponowne otwarcie Docker Desktop zwykle to wyzwala.
Tylko jeśli dodasz --volumes. Bez tej flagi zostawia woluminy w spokoju. Z nią znika każdy wolumin niepodłączony do kontenera, a wolumin zatrzymanej bazy liczy się jako niepodłączony.
Nie ma dobrej odpowiedzi, ale na maszynie z kilkoma aktywnymi projektami 15 do 25 GB jest normą, a 60 GB oznacza, że pamięć podręczna kompilacji nigdy nie była czyszczona. Sprawdź poleceniem docker system df -v zanim uznasz, że chodzi o obrazy.
Krótsze teksty, które dogłębnie omawiają jedną część tego przewodnika.