Yeniden başlatma politikası
- Docker & Kubernetes kursu
- Başlangıç
- Ders 33/82
- 4 dk
--restart ile container yeniden başlatma politikasını öğrenirsin.
Yeniden başlatma politikası
--restart, container durduğunda ya da sunucu yeniden başladığında Docker'ın ne yapacağını belirler:
no(varsayılan): yeniden başlatmaon-failure[:5]: yalnızca sıfırdan farklı çıkış kodunda, en fazla 5 kezalways: her zaman; elle durdurulsa bile daemon açılınca başlarunless-stopped: always gibi, ama elle durdurulduysa başlatmaz
docker run -d --name web --restart unless-stopped nginxVar olan container'ı güncellemek
Politika container oluşturulduktan sonra da değiştirilebilir. docker inspect ile mevcut politika ve yeniden başlatma sayısı görülür:
docker update --restart on-failure:3 worker
docker inspect -f '{{.HostConfig.RestartPolicy.Name}} {{.RestartCount}}' worker
# on-failure 2Uygulama Dayanıklı servisler
İki komut yaz: nginx'ten web adlı container'ı arka planda, elle durdurulmadıkça yeniden başlayacak şekilde çalıştır; ardından mevcut worker container'ının politikasını en fazla 3 kez hatada yeniden başlatma olarak güncelle.
Başlangıç kodu
# buraya yazÖrnek çözüm
docker run -d --name web --restart unless-stopped nginx
docker update --restart on-failure:3 workerBeklenen çıktı
2c3d4e5f6a7b worker
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Sunucu yeniden başladığında, elle durdurduğun bir container'ın başlamaması için hangi politika seçilir?
- always
- on-failure
- no ve always birlikte
- unless-stopped Doğru cevap
Açıklama: always elle durdurmayı daemon yeniden başlayınca unutur.
2 Yalnızca hatada en fazla 5 kez yeniden başlat.
docker run -d --restart ____ worker
docker run -d --restart on-failure:5 worker
Açıklama: on-failure:N sıfır olmayan çıkışta N kez dener.
3 Politikaları eşleştir.
| Kavram | Anlamı |
|---|---|
no |
Hiç başlatma |
on-failure |
Hatalı çıkışta |
always |
Her zaman |
unless-stopped |
Elle durdurulmadıkça |