
Çökmüş bir konteyner kolayca fark edilir. İçindeki uygulama kilitlenmiş durumda çalışmaya devam eden konteyner ise bir Cuma akşamı masrafa neden olur. Docker’ın yerleşik yeniden başlatma politikası artı bir sağlık kontrolü ilk savunma hattıdır ve etrafındaki araçlar (otomatik iyileştirme izleme sistemleri, görüntü güncelleyiciler, panolar) homelab’ın ziyaretler arasında çalışır halde kalmasının nedenidir. Docker konteyner yeniden başlatma politikaları için en iyi uygulamalar, bu kombinasyonu sıkıcı hale getirenlerdir, bu da tam olarak heeftir.
Kurulumu kapsayan sekiz araç seçtik: politika nasıl bildirilir, askıda kalan konteyner nasıl tespit edilir, tarayıcıdan her şey nasıl görülür ve gece yarısı sürprizler olmadan görüntüler nasıl güncel tutulur.
Konteyner-yeniden başlatma aracında ne aranmalı
İster Docker ile paketlenmiş olsun, ister ayrı olarak eklenmişse, yararlı bir araç şunlara sahip:
- Yeniden başlatmanın ne anlama geldiğinin açık bir bildirimi: başarısızlıkta, sıfır olmayan çıkışta, her zaman, unless-stopped. Bu politikayla karıştırmak, koruduğu konteynerlerden daha fazla kesinti ile sonuçlanmıştır.
- Aracın hareket ettirebileceği sağlık kontrolleri, sadece bildiren değil. Raporlama bir izlemedir. Yeniden başlatma bir düzeltmedir.
- Tek bir pano veya “hangi konteynerler bugün doğru davranıyor” sorusuna yanıt veren CLI görünümü.
- Konteyner başına seçmeli güncelleme işleme ve hareket etmemesi gereken konteynerleri sabitlemenize izin veren.
- Ana bilgisayar yeniden başlatmasında sıfır sürpriz. Compose dosyaları ve yeniden başlatma politikaları, bir güç döngüsünden sonra önceki durumla aynı duruma değerlendirilmelidir.
Aşağıdaki sekiz araç temiz bir şekilde istiflenmiştir. Yığın tarafından zaten sahip olmadığınız olanları seçin.
Hızlı karşılaştırma
| Uygulama | İçin en iyi | Dağıtım şekli | Maliyet |
|---|---|---|---|
| Docker Compose | Politika bildirimi | CLI + YAML | Ücretsiz |
| Willfarrell Autoheal | Sağlıksız konteynerleri yeniden başlatma | Sidecar konteyneri | Ücretsiz, open-source |
| Watchtower | Görüntüleri otomatik güncelleme | Sidecar konteyneri | Ücretsiz, open-source |
| Portainer | Yeniden başlatma kontrolleri olan web panosu | Web UI konteyneri | Ücretsiz CE, ücretli İşletme |
| Dockge | Compose-öncelikli web kullanıcı arayüzü | Web UI konteyneri | Ücretsiz, open-source |
| Diun | Güncelleme bildirimleri, otomatik çekme yok | Sidecar konteyneri | Ücretsiz, open-source |
| Uptime Kuma | Konteyner kaybolduğunda uyarı | Web UI konteyneri | Ücretsiz, open-source |
| Ouroboros | Alt otomatik güncelleyici | Sidecar konteyneri | Ücretsiz, open-source |
1. Docker Compose, politika bildirimi için en iyi
Docker Compose politikanın gerçekten yaşadığı yerdir. docker-compose.yml dosyasında restart: unless-stopped artı bir healthcheck bloğu, Docker’a bir hizmeti çalışır halde tutmak için gereken iki parçayı verir. Günümüz Docker CLI’sında Compose hızlı ve stabil, ve Compose dosyalarıyla dolu bir depo, bu listedeki tüm diğer araçların okuduğu tek doğruluk kaynağıdır.
Nerede yetersiz kalır: Compose sağlıksız duruma yanıt vermez. Sağlıksız olarak işaretlenmiş bir konteyner, ayrı bir izleme sistemi onu yeniden başlatmadıkça çalışmaya devam eder. Bu Autoheal’ın doldurduğu boşluğun.
Fiyatlandırma:
- Docker Desktop ve Docker Engine ile ücretsiz.
Platformlar: Windows, Linux, macOS.
İndir: docs.docker.com/compose
Sonuç: Taban katman. Bu listenin geri kalanındaki her yeniden başlatma politikası hikayesi altında bir Compose dosyası varsayar.
2. Willfarrell Autoheal, sağlıksız konteynerleri yeniden başlatma için en iyi
Autoheal Docker’ın kendi Sağlık API’sini araştıran ve eşik süresi boyunca sağlıksız olarak işaretlenen herhangi bir konteyneri yeniden başlatan tek konteyneri yan karşı koyan bir araçtır. Basit bir etiket ile konteyner başına seçmeli katılım. Kurulum tek bir Compose hizmetidir.
Nerede yetersiz kalır: sadece Docker’ın kendi healthcheck sinyaline yanıt verir. Konteyner uygulamanın healthcheck’i yanlış olduğu için hiçbir zaman sağlıksız olarak işaretlenmemişse, Autoheal yardım edemez.
Fiyatlandırma:
- Ücretsiz, open-source.
Platformlar: Herhangi bir Docker ana bilgisayarı (Linux, Windows, macOS).
İndir: github.com/willfarrell/docker-autoheal
Sonuç: Eksik parça. Her homelab ve küçük üretim yığını bunu Compose’un yanında çalıştırmalı.
3. Watchtower, görüntüleri otomatik güncelleme için en iyi
Watchtower dağıttığınız etiketi izler ve upstream görüntüsü hareket ettiğinde, yeni görüntüyü çeker ve konteyneri yeniden başlatır. Etikete göre yapılandırılabilir, böylece bir veritabanı sabitlenmiş kalabilirken statik bir site otomatik olarak güncellenir. Bildirimler Slack, Discord veya webhook’a ulaşır.
Nerede yetersiz kalır: otomatik güncellemeler çift taraflı bir kılıçtır. Önemli olan konteynerleri sabitleyin (veritabanları, şema geçişlerine sahip her şey); yaprak konteynerlerin otomatik güncellenmesine izin verin.
Fiyatlandırma:
- Ücretsiz, open-source.
Platformlar: Herhangi bir Docker ana bilgisayarı.
İndir: containrrr.dev/watchtower
Sonuç: Varsayılan otomatik güncelleyici; “tümünü güncelle” modu yerine etiketlerle kullanın.
4. Portainer, yeniden başlatma kontrolleriyle web panosu için en iyi
Portainer çoğu kendi kendini barındıran kişinin sonunda bulunduğu Docker web kullanıcı arayüzüdür. Her konteyneri listeler, sağlık ve yeniden başlatma durumunu gösterir, her biri için Yeniden Başlat düğmesini ortaya çıkarır ve Compose yığın yönetimini destekler. Community Edition ücretsiz ve bir homelab’ı kapsar; Business rol tabanlı erişim ve çok kümelemeyi açar.
Nerede yetersiz kalır: tek konakçılı yığın için çok fazla kullanıcı arayüzüdür. Kurulumunuz bir makine ise, Dockge daha hafiftir.
Fiyatlandırma:
- Ücretsiz (Community Edition).
- Business daha büyük dağıtımlar için ücretli bir aboneliktir.
Platformlar: Herhangi bir Docker ana bilgisayarı.
İndir: portainer.io
Sonuç: Çeşitli ana bilgisayarları çalıştıran veya konuklar için gerçek bir pano isteyen herkes için en iyi seçim.
5. Dockge, Compose-öncelikli tarama için en iyi
Dockge Compose dosyalarını birinci sınıf olarak ele alır. YAML’yi yerinde düzenler, kaydettiğinizde yığını yeniden başlatır ve konteyner durumunu satır içinde gösterir. Portainer tek konakçılı kurulum için ağır görünüyorsa, Dockge bununla değiştirilecek olandır.
Nerede yetersiz kalır: tek düğüm odaklandırması; çok konakçılı yönetim yok. Daha yeni proje, ancak mevcut sürümde kararlı.
Fiyatlandırma:
- Ücretsiz, open-source.
Platformlar: Herhangi bir Docker ana bilgisayarı.
İndir: github.com/louislam/dockge
Sonuç: Büyüyen Compose deposu içeren tek makineli kurulum için daha hafif pano.
6. Diun, otomatik çekme olmadan güncelleme bildirimleri için en iyi
Diun (Docker Image Update Notifier) görüntü etiketlerini izler ve yeni birinin geldiğinde çekmeden veya yeniden başlatmadan bildirir. El ile güncellemek istediğiniz konteynerler (veritabanları, el ile adım gerektiren her şey) için Diun size güncellemeyi ne zaman planlamanız gerektiğini söyler.
Nerede yetersiz kalır: tasarım gereği sadece bildirim. Hedef “sadece gece her şeyi güncelle” ise, Watchtower’ı kullanın.
Fiyatlandırma:
- Ücretsiz, open-source.
Platformlar: Herhangi bir Docker ana bilgisayarı.
İndir: github.com/crazy-max/diun
Sonuç: Watchtower’a tamamlayıcı. Güvenli şeyler otomatik olarak güncelleyin, geri kalanı bildirin.
7. Uptime Kuma, konteyner kaybolduğunda uyarı için en iyi
Uptime Kuma kendi barındırılan bir durum sayfası ve uyarı sistemidir. Her konteynerin açık portuna veya Docker soketine işaret edin ve zamanlamaya göre ping gönderin. Bir konteyner kaybolduğunda, Kuma Discord, Telegram, e-posta veya webhook aracılığıyla uyarır ve durum sayfası kesinti penceresini gösterir.
Nerede yetersiz kalır: izler, yeniden başlatmaz. Kapalı döngü için Autoheal ile eşleştirin.
Fiyatlandırma:
- Ücretsiz, open-source.
Platformlar: Herhangi bir Docker ana bilgisayarı.
İndir: uptime.kuma.pet
Sonuç: Autoheal’ın üzerindeki uyarı katmanı. Birlikte “aşağı idi, şimdi yukarıda” hikayesini kaplarlar.
8. Ouroboros, alternatif otomatik güncelleyici olarak en iyi
Ouroboros Watchtower’a daha eski bir alternatiftir. Aynı işi yapar (upstream sondaj, çekme, yeniden başlatma) biraz farklı bir yapılandırma yüzeyi ile. Her iki proje de iyi bakılır; hangi dokümanların en temiz okunduğunu seçin.
Nerede yetersiz kalır: topluluk Watchtower’dan daha küçüktür, bu nedenle sorun giderme daha az forum konusu bulur.
Fiyatlandırma:
- Ücretsiz, open-source.
Platformlar: Herhangi bir Docker ana bilgisayarı.
İndir: github.com/pyouroboros/ouroboros
Sonuç: İyi bir ikinci seçenek otomatik güncelleyici. Çoğu yığın ilk olarak Watchtower’da iner.
Doğru olanı seçme
- Docker Compose ile başlayın ve her hizmet için
restart: unless-stoppedekleyin. - Sağlık denetimi odaklı yeniden başlatma için Autoheal ekleyin.
- Yaprak konteynerler üzerinde otomatik güncelleme için Watchtower ve otomatik olarak güncelleştirilmesini reddettiğiniz bildirimler için Diun ekleyin.
- Uyarılar için Uptime Kuma ekleyin, böylece gerçek bir kesinti dikkatinizi çeker.
- Çok konakçılı pano için Portainer veya tek konakçılı Compose düzenleyicisi için Dockge seçin.
- Ouroboros Watchtower’a bir alternatiftir; yapılandırma stili sizin için işe yanarsa kullanın.
Sık Sorulan Sorular
Docker yeniden başlatma politikaları arasındaki fark nedir?
no hiçbir zaman yeniden başlatmaz, on-failure sıfır olmayan çıkışta yeniden başlatır, always el ile olanlar dahil olmak üzere herhangi bir durdurmada yeniden başlatır ve unless-stopped başarısızlıkta ve yeniden başlatmada yeniden başlatır ancak el ile durmada değil. unless-stopped çoğu kendi kendini barındıran yığının varsayılanıdır.
Docker askıda kalan ancak çökmemiş bir konteyneri yeniden başlatır mı?
Hayır. Docker sadece konteynerin çıkışına yanıt verir. Askıda kalmış bir konteyneri yeniden başlatmak için bir sağlık kontrolü ekleyin ve onu Autoheal veya benzer bir izleme sistemi ile eşleştirin.
Watchtower üretim için güvenli midir?
Değişmez veriler içeren yaprak hizmetleri için evet. Veritabanları ve şema geçişlerine sahip her şey için görüntüyü sabitleyin ve el ile güncelleyin. Watchtower etiket tabanlı seçmeli katılımı destekler.
Ev sunucusu için Portainer mi yoksa Dockge mi?
Çeşitli ana bilgisayarlar veya rol tabanlı erişime ihtiyaç duyduğunuzda Portainer. Compose dosyasının doğruluk kaynağı olduğu tek ana bilgisayar için Dockge.
Portainer’ım varsa ayrı bir uyarı sistemine ihtiyacım var mı?
Portainer konteyner durumunu gösterir ancak sizi uyarmaz. Uptime Kuma veya başka bir bildirim aracı, bir konteyner kaybolduğunda iletiyi gönderir.
En küçük yararlı yığın nedir?
restart: unless-stopped ve bir sağlık kontrolü olan Compose, artı Autoheal. Bu kombinasyon “konteyner gece boyunca askıda kaldı” senaryosunun yüzde 80’ini kapsar.