İlkeyi kullanmak --restart=always
, yeniden başlatma durumunda mevcut kapsayıcıların yeniden başlatılmasını sağlar.
Sorun olduğunu varsa birden konteynerleri ile --restart=always
de tartışıldığı gibi daha yeni bir sürümü imajını çalıştırdığınızda docker - nasıl bir kap üzerinde size devre dışı otomatik yeniden başlatma mı? .
Put seçeneği ile var olduğunda kapsayıcıyı otomatik olarak kaldırmaya çalışmak, birbirleriyle çakıştıklarından
ilke docker run --rm
ile de sorun yaratacaktır .--restart=always
$ docker run --rm --restart always <image>
Conflicting options: --restart and --rm
Bu durumda, başka bir seçenek seçmek daha iyidir: - durdurulmadığı sürece yeniden başlat politikası.
$ docker run --rm --restart unless-stopped <image>
Bu politika çelişkili olmazdocker run --rm
ama açıklandığı liman işçisi belgelerinde :
Konteyner durduğunda (manuel veya başka şekilde) Docker arka plan programı yeniden başlatıldıktan sonra bile yeniden başlatılmaması --restart=always
dışında buna benzer .
Bu nedenle --restart unless-stopped
, terminali kapattığınızda kazayla durması durumunda yeniden başlatmanın çalıştığından emin olmak için aşağıdaki gibi başka bir terminalde bir kez yapın :
$ docker ps
$ docker restart <container>
Öldürme işlemi önceki mermide bitene kadar bekleyin, sonra kapatın ve bırakın ( çıkmayın ).
Kalan terminalde kabın hala çalışıp çalışmadığını tekrar kontrol edin:
$ docker ps
Hala çalışıyorsa, güvenli bir şekilde yeniden başlatabilir ve uygulamanın yeniden başlatıldığını tekrar kontrol edebilir ve liman işçinizin birden fazla kap kullanmadan temiz olduğunu görebilirsiniz.