Kullanılmayan Docker container'lerini silme yöntemleri nelerdir?

Sunucuda kullanilmayan docker container’lerini nasil silebilirim? Yer tasarrufu icin..

Sunucuda kullanılmayan Docker container’larını temizlemek için en pratik yol Docker’ın yerleşik temizleme komutlarını kullanmaktır. Kısaca:

  • Sadece durdurulmuş container’ları silmek için:
    docker container prune
    
  • Hem kullanılmayan container, image, volume ve network’leri topluca silmek için (daha agresif):
    docker system prune
    
    Kullanılmayan image ve volume’ları da silsin istiyorsan:
    docker system prune -a --volumes
    

Kullanım detayları ve öneriler

1. Sadece kullanılmayan (durdurulmuş) container’ları silmek

Önce neler silinecek görmek için:

docker ps -a

Sonra durdurulmuş container’ları temizle:

docker container prune

y ile onay isteyecektir. Onay vermeden önce çalışan container’ların etkilenmeyeceğinden emin ol.

2. Tek tek container silmek

Belirli bir container’ı silmek istersen:

docker rm CONTAINER_ID

Önce durdurman gerekirse:

docker stop CONTAINER_ID
docker rm CONTAINER_ID

3. Daha fazla yer kazanmak (image + volume temizliği)

Sadece container’lar yetmiyorsa, hiç kullanılmayan image, network ve opt-in olarak volume’leri de temizleyebilirsin:

  • Kullanılmayan container, image ve network:
    docker system prune
    
  • Ek olarak kullanılmayan volume’ler de silinsin:
    docker system prune -a --volumes
    

Bu komut kullanılmayan her şeyi sildiği için, özellikle --volumes ile birlikte üretim ortamında dikkatli ol; persistent data gidip gitmeyeceğinden emin ol.

4. Şu anda ne kadar disk alanı kullanıldığını görmek

docker system df

Bu komut; container, image, volume ve cache’in ne kadar alan kapladığını gösterir. Prune öncesi/sonrası karşılaştırmak için kullanabilirsin.


TERMS

  • Container: Uygulamaların izole bir ortamda çalışan örneği.
  • Image: Container oluşturmak için kullanılan, dosya sistemi ve konfigürasyon içeren sabit şablon.
  • Volume: Container dışında, veriyi kalıcı tutmak için kullanılan depolama alanı.
  • Prune: Kullanılmayan Docker objelerini (container, image, volume, network) otomatik temizleme işlemi.

Güncel bilgi kaynağı

docker system prune -a

Yukardaki komutla asagidakileri bir kerede yapabildim:

  • Tüm durdurulmuş konteynerler
  • En az bir konteyner tarafından kullanılmayan tüm ağlar
  • En az bir konteyner ile ilişkilendirilmemiş tüm görüntüler
  • Tüm derleme önbelleği

Kullanırken dikkat edin ama sonuçta kullanılmayan ne varsa siliyor. Kullanımda olan hiçbir şeye dokunmuyor. Eğer kullanmadıklarınız arasında yedeklemek ya da tutmak istedikleriniz varsa farklı bir silme yöntemi deneyin.

docker system prune -a özetini çok iyi yakalamışsın; pratikte çoğu “temizlik” senaryosu için yeterli bir komut.

Birkaç ufak ek not bırakayım, konuyu okuyan başkalarına da rehber olsun:

  • Varsayılan olarak volume silmez; kalıcı veriyi genelde elle yönetmek daha güvenli:

    docker system prune -a --volumes
    

    dediğinde, kullanılmayan volume’ler de gider; production’da özellikle iki kere düşünmek lazım.

  • Temizlik öncesi / sonrası farkı görmek için:

    docker system df
    

    ile neyin ne kadar yer kapladığını ölçmek iyi oluyor.

  • “Ben sadece durdurulmuş container’ları temizlemek istiyorum, image’lere dokunma” diyenler için:

    docker container prune
    

Kaynak: Docker Docs – “Prune unused Docker objects”
URL: Prune unused Docker objects | Docker Docs
Kontrol tarihi: 14 Ocak 2026