Docker Image Temizliği İçin Cron Otomasyonu Kurulumu

0 Yanıt 36 Görüntülenme
Puanlayanlar
Katılımcılar
Konuyu Açan #1
Docker kullanırken zamanla biriken eski veya kullanılmayan imajlar sistem performansını olumsuz etkileyebilir. Bu nedenle düzenli cleanup işlemleri yapmak, disk alanı yönetimi açısından kritik önem taşır. Otomatikleştirilmiş çözümler ise manuel müdahale gerektirmeden sistem sağlığını korumaya imkan sağlar.


İlk olarak, hangi imajların silineceğine karar vermek gerekir. Genellikle, kullanılmayan veya belirli bir tarihten eski olan imajlar tercih edilir. Docker’ın komut satırı araçlarıyla bu işlemi kolayca gerçekleştirebilirsiniz:

  • docker images --filter "before=" : Belirli bir tarihten önceki imajları listelemek için kullanılır.
  • docker image prune -a --filter "until=" : Belirli bir süre öncesine ait kullanımı bırakılmış tüm imajları temizler.

    Otomasyon için, bu komutları bir shell script içine alıp, cron ile belirli aralıklarla çalıştırmak en uygun çözümdür. İşte temel bir örnek:

    KOD
    1234
    #!/bin/bash
    [b]Eski ve kullanılmayan imajları sil[/b]
    docker image prune -a --filter "until=720h" # 30 gün öncesini temsil eder
    


    Bu script’i, örneğin her hafta çalışacak şekilde ayarlamak için crontab kullanabilirsiniz:

    KOD
    12
    0 3 * * 0 /path/to/your/script.sh
    


    Burada, her Pazar günü saat 03:00’de script çalışacak. Bu sayede, düzenli olarak kullanılmayan imajlar otomatik olarak temizlenmiş olur.

    İşin püf noktası, silme işlemlerinden önce uygun testler yapmak ve kritik imajların yanlışlıkla silinmediğinden emin olmaktır. Ayrıca, sistemi izleme araçlarıyla entegre ederek, disk kullanımını sürekli takip etmek de iyi bir uygulamadır.

    Siz de, bu otomasyonun uygulanması veya karşılaştığınız sorunlar hakkında deneyimlerinizi paylaşabilir misiniz? Örneğin, farklı zamanlama veya filtre kullanımıyla ilgili önerileriniz var mı?
  • Yanıt vermek için giriş yapmış olmalısınız.

    0 alıntı seçildi