1. Docker'a kendi toplamlarını sorun
Her zaman buradan başlayın. Kalıpları, konteynerleri, birimleri ve derleme önbelleğini ayırır ve her birinin ne kadarının geri kazanılabileceğini söyler.
docker system df -v
Docker Desktop her şeyi tek bir dosyada tutar. Her derlemede büyür ve kalıpları silmek onu küçültmez. İşte nedeni ve alanı gerçekte neyin geri kazandığı.
İndirmesi ve taraması ücretsiz. Temizleme bir lisans gerektirir: bilgisayar başına tek ödeme, Mac veya Windows.

Mac'te Docker Desktop her şeyi bir Linux sanal makinesinin içinde tutar ve o makinenin tüm diski tek bir seyrek dosyadır:
~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw
Diskteki gerçek boyutuna bakın — mantıksal boyutuna değil; o her zaman Docker'ın kullanmasına izin verdiğiniz üst sınırdır:
du -h -d0 ~/Library/Containers/com.docker.docker/Data/vms/0/data/
Bir kalıbı sildiğinizde alan yalnızca sanal makinenin içinde boşalır. Mac'inizdeki dosya eskisi kadar büyük kalır, çünkü macOS ona o kadar alanı çoktan vermiştir. Yeni Docker Desktop sürümleri sanal makinenin içinden TRIM gönderir, bu da macOS'un boşalan blokları geri almasını sağlar; ancak bu, prune yaptığınız anda değil Docker'ın kendi takvimine göre gerçekleşir. O zamana kadar docker system df gigabayt boşaldığını bildirirken Finder hiçbir değişiklik göstermez.
Sırayla: en az yıkıcı olan başta.
Her zaman buradan başlayın. Kalıpları, konteynerleri, birimleri ve derleme önbelleğini ayırır ve her birinin ne kadarının geri kazanılabileceğini söyler.
docker system df -v
Düzenli olarak kalıp derleyen bir makinede bu genellikle en büyük tek kalemdir ve kaldırılması en güvenli olanıdır — yalnızca bir sonraki derlemeyi yavaşlatır.
docker builder prune -a
Durdurulmuş konteynerler, boşta kalan kalıplar ve kullanılmayan ağlar:
docker system prune
Çalışan bir konteynerin kullanmadığı her kalıbı da kaldırmak için -a ekleyin — bu, onları sonradan yeniden çekmek demektir. --volumes seçeneğini yalnızca eminseniz ekleyin: veritabanları verilerini birimlerde tutarve bu, bu sayfada yeniden indiremeyeceğiniz bir şeyi yok eden tek komuttur.
Gerçekte neyin gideceğini kontrol edin:
docker volume ls
docker volume ls -f dangling=true
Temizlikten sonra Docker Desktop'ın serbest kalan blokları geri vermek için desteklenen bir yolu var: Ayarlar → Kaynaklar → Gelişmiş → Disk kullanımıya da Docker Desktop'tan çıkıp yeniden açmak; bu, açılışta TRIM'i tetikler. Bir dakika bekleyin ve işe yaramadığına karar vermeden önce dosya boyutunu yeniden kontrol edin.
Şuraya bakın: Ayarlar → Kaynaklarbölümünde sanal disk sınırı, Docker.raw'un ne kadar büyümesine izin verildiğini belirler. Onu düşürmek tek başına bir şey boşaltmaz ama sorunu sınırlar. "Ne olur ne olmaz" diye yükseltmek, dosyanın en baştan 64 GB'a ulaşmasının nedenidir.
Ayarlar → Sorun Giderme → Clean / Purge data sanal makinenin diskini tümüyle sıfırlar ve dosyayı neredeyse sıfıra döndürür. Sahip olduğunuz her kalıbı, konteyneri ve birimi siler. Bunu başka hiçbir şey işe yaramadığında ve birimlerinizde ne olduğunu bildiğinizde kullanın.
Docker.raw'u Finder'da silmeyin. O bir önbellek dosyası değil, Docker kurulumunun tüm verisidir; Docker çalışırken kaldırmak sanal makineyi zaten sıfırlama gerektiren bir duruma sokabilir.
Docker'ın 50 GB'a ulaştığı Mac'te, Xcode'un DerivedData'sı ve yerel yapay zekâ modelleri genelde hemen arkasındadır. Yer kazanıyorsanız, tek tek düzeltmek yerine tüm diski bir kez ölçmeye değer. Tam liste
Linux'ta Docker doğrudan /var/lib/dockeriçine yazar; bu yüzden prune yeri hemen boşaltır ve yukarıdaki TRIM sorunu hiç yaşanmaz. Linux disk temizliği
Finder'dan değil ve Docker çalışırken hiç değil. O tek dosya, sahip olduğunuz her kalıp, konteyner ve birimdir. Gerçekten sıfırdan başlamak istiyorsanız Docker Desktop'ın Sorun Giderme → Clean / Purge data seçeneğini kullanın; aynı işi Docker'ın haberdar olduğu bir biçimde yapar.
Çünkü o 20 GB'ı Mac'inizde değil, sanal makinenin dosya sisteminin içinde boşalttı. TRIM çalışıp macOS blokları geri alana kadar dosya boyutunu korur. Docker Desktop'tan çıkıp yeniden açmak bunu genelde tetikler.
Yalnızca --volumeseklerseniz. Bu bayrak olmadan birimlere dokunmaz. Onunla birlikte, bir konteynere bağlı olmayan her birim gider ve durdurulmuş bir veritabanının birimi bağlı sayılmaz.
Doğru bir cevap yok, ama birkaç etkin projesi olan bir makinede 15 ila 25 GB normaldir; 60 GB ise derleme önbelleğinin hiç temizlenmediği anlamına gelir. docker system df -v Kalıplar olduğunu varsaymadan önce şununla kontrol edin:
Bu rehberin bir bölümüne daha derinlemesine inen kısa yazılar.