Creative Studio
Windows 10 / Windows 11 / macOS / Linux

Docker Diskinizin İçini Dolduruyor Olabilir! Kullanılmayan Verileri Güvenli Şekilde Temizleyin

Docker Diskinizin İçini Dolduruyor Olabilir! Kullanılmayan Verileri Güvenli Şekilde Temizleyin

Docker, yazılım geliştiren kişilerin uygulamaları birbirinden izole edilmiş ortamlarda çalıştırmasına yardımcı olur. Ancak zaman içinde kullanılmayan kapsayıcılar, eski görüntüler ve derleme önbellekleri birikerek diskte gereksiz yer kaplayabilir.

Docker, kullanılmayan nesneleri genellikle siz açıkça temizlik istemediğiniz sürece otomatik olarak silmez. Bu nedenle özellikle çok sayıda proje deneyen geliştiriciler zaman zaman disk kullanımını kontrol etmelidir. Docker Documentation

Bu rehberde amaç, Docker'ı baştan kurmak veya bütün verileri silmek değil; neyin yer kapladığını görmek ve gerçekten ihtiyaç duyulmayan verileri kontrollü şekilde temizlemek.

Önce şu kavramları öğrenin

Docker temizliği yapmadan önce birkaç terimi ayıralım:

  • Görüntü (image): Bir uygulamanın çalıştırılması için kullanılan şablon.
  • Kapsayıcı (container): Görüntüden oluşturulan çalışan veya durmuş uygulama ortamı.
  • Birim (volume): Kapsayıcılar arasında kalıcı veri saklamak için kullanılabilen depolama alanı.
  • Derleme önbelleği: Uygulama görüntüleri oluşturulurken yeniden kullanılabilen ara veriler.

En önemli ayrım şudur: Kullanılmayan bir görüntüyü silmekle veritabanı dosyalarını tutan bir birimi silmek aynı şey değildir. Birimler uygulama verilerini içerebilir ve yanlışlıkla silinmeleri veri kaybına neden olabilir. Docker, birimleri otomatik olarak kaldırma konusunda özellikle temkinli davranır. Docker Documentation

1. Docker'ın ne kadar yer kapladığını görün

Önce terminali açın. Windows'ta Docker Desktop kullanıyorsanız PowerShell veya Windows Terminal üzerinden de komutları çalıştırabilirsiniz.

Şu komutu girin:

docker system df

Bu komut Docker'ın disk kullanımına ilişkin özet bilgi verir.

Daha ayrıntılı bir görünüm için:

docker system df -v

İkinci komut, görüntüler, kapsayıcılar ve birimler gibi kaynakların kullanımını daha ayrıntılı gösterir. Docker Documentation

Bu aşamada hemen silme işlemi yapmayın. Önce hangi kaynakların yer kapladığını anlamaya çalışın.

2. Kullanılmayan görüntüleri temizleyin

Docker'ın kullanılmayan ve etiketsiz görüntülerini temizlemek için:

docker image prune

Komut, silinecek nesneler hakkında uyarı verir ve onay ister.

Daha geniş temizlik sağlayan şu komut da vardır:

docker image prune -a

Ancak dikkat: -a seçeneği, mevcut kapsayıcılarla ilişkili olmayan daha fazla görüntüyü siler. Daha sonra bu görüntülere yeniden ihtiyaç duyarsanız tekrar indirmeniz veya oluşturmanız gerekebilir. Bu nedenle ilk denemede daha sınırlı komutla başlamak daha temkinli bir yaklaşımdır. Docker Documentation

3. Kullanılmayan durmuş kapsayıcıları temizleyin

Çalışması biten bir kapsayıcı durdurulmuş olsa bile diskte yer kaplamaya devam edebilir.

Önce bütün kapsayıcıları görmek için:

docker ps -a

Listede artık ihtiyaç duymadığınız durmuş kapsayıcılar varsa bunları temizlemek için:

docker container prune

Bu komut tüm durmuş kapsayıcıları kaldırmayı teklif eder. Onay vermeden önce listenizde daha sonra incelemek veya yeniden kullanmak istediğiniz kapsayıcılar bulunmadığından emin olun. Docker Documentation

4. Derleme önbelleğini ayrı temizleyin

Büyük projelerde derleme önbelleği de yer kaplayabilir.

Yalnızca derleme önbelleğini temizlemek için:

docker buildx prune

Komut, seçili derleyicinin kullanılmayan derleme önbelleğini temizlemek için kullanılır. Birden fazla derleyici kullanıyorsanız hangi derleyicinin seçili olduğunu göz önünde bulundurun.

Önbelleği temizlemek, sonraki derlemelerin bazı adımlarının yeniden yapılmasına neden olabilir. Bu yüzden temizlikten sonra ilk derlemenin daha uzun sürmesi normal olabilir. Docker Documentation

5. Genel temizlik yapmak isterseniz

Yukarıdaki kaynakları ayrı ayrı değerlendirdikten sonra genel temizlik için şu komut kullanılabilir:

docker system prune

Docker bu komutla durmuş kapsayıcıları, kullanılmayan ağları, etiketsiz görüntüleri ve kullanılmayan derleme önbelleğini temizleyebilir. Onay ekranını okuyup işlemi kabul etmeniz gerekir. Docker Documentation

Dikkat: Bu komut da ihtiyaç duyduğunuz bazı kaynakları kaldırabilir. Önce docker system df ile disk kullanımını incelemek ve neyin silineceğini anlamak önemlidir.

6. Şu komutu ne yaptığınızı bilmeden kullanmayın

docker system prune --volumes

Bu seçenek, kullanılmayan anonim birimleri de temizliğe dahil eder. Birimler veritabanı veya uygulama verisi içeriyor olabilir. Kullanılmıyor gibi görünmeleri, içlerindeki verinin önemsiz olduğu anlamına gelmez.

Ayrıca --volumes seçeneğinin tüm isimlendirilmiş birimleri gelişigüzel sildiği düşünülmemelidir; Docker'ın varsayılan davranışı ile birimleri ayrıca temizleyen seçenekler farklıdır. Yine de birimleri silmeden önce içeriklerini ve hangi projelere ait olduklarını kontrol edin. Docker Documentation

Önerilen güvenli temizlik sırası

Günlük kullanım için şu sırayı izleyebilirsiniz:

  1. docker system df ile disk kullanımını görün.
  2. docker ps -a ile durmuş kapsayıcıları inceleyin.
  3. Gereksiz olduğundan emin olduğunuz kapsayıcıları temizleyin.
  4. Kullanılmayan görüntüleri kontrollü şekilde kaldırın.
  5. Gerekirse derleme önbelleğini temizleyin.
  6. Son olarak docker system df komutunu tekrar çalıştırarak sonucu karşılaştırın.

Bu yaklaşım, doğrudan bütün kaynakları silmeye çalışmaktan daha kontrollüdür.

Sonuç: Docker'ın çok yer kaplaması her zaman bir arıza anlamına gelmez. Eski projelerden kalan görüntüler, durmuş kapsayıcılar ve önbellekler zaman içinde birikebilir. Ne kadar alan kullanıldığını ölçüp yalnızca gereksiz kaynakları temizlemek en doğru başlangıçtır.

Yorumlar (0)

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Bir Yorum Bırakın

İlginizi Çekebilir

Size nasıl yardımcı olabiliriz?
ZerX
ZerX AI Çevrimiçi
Merhaba! Ben ZerX ⚡
Zertucha laboratuvarından geliyorum. Size nasıl yardımcı olabilirim?

Sohbeti Temizle

Tüm konuşma geçmişiniz kalıcı olarak silinecektir. Emin misiniz?

AI
ZerX