CodeBlanks Logo Icon CodeBlanks

Yeniden başlatma politikası

--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şlatma
  • on-failure[:5]: yalnızca sıfırdan farklı çıkış kodunda, en fazla 5 kez
  • always: her zaman; elle durdurulsa bile daemon açılınca başlar
  • unless-stopped: always gibi, ama elle durdurulduysa başlatmaz
docker run -d --name web --restart unless-stopped nginx

Var 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 2

Uygulama 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

terminal
# buraya yaz

Örnek çözüm

terminal
docker run -d --name web --restart unless-stopped nginx
docker update --restart on-failure:3 worker

Beklenen çı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.

Soru
docker run -d --restart ____ worker
Cevap
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

Başlangıç bölümündeki tüm dersler