2015-08-07 4 views
6

ile yönetilir Şu anda Docker kapsayıcılarında uygulamalarımızı dağıtmak ve çalıştırmak için Ansible + Ansible Tower kombinasyonunu kullanıyoruz.Docker konteynerleri önyükleme sırasında başlatılır, Ansible (Tower)

Ancak, sistem yeniden başlatıldıktan sonra dağıtılan kapsayıcıların nasıl otomatik olarak çalıştırılacağını merak ediyordum. Buraya gitmenin yolu ne olurdu? Geldiğimiz tek çözüm, önyüklemede uygulama dağıtımı yürütme kitabı (lar) ının Tower geri arama URL'sini otomatik olarak talep etmektir, ancak bu durumun yetersiz olduğu görülmektedir.

cevap

5

restart policies'u kullanabilirsiniz.

Tam olarak nasıl ansible kapsayıcılar oluşturduğunu bilmiyorum. Ama genellikle komut satırına parametre ekleyebilirsin:

docker run --restart=always ... 
+0

Sadece bir kapsayıcı çöktüğünde, tüm sunucu yeniden başlatıldığında değil, kapsayıcılar yeniden çalışmaya başlayabilir diye düşünüyorum. Yoksa yanılıyor muyum? – Peter

+0

Bir kapsayıcı çöktüğünde, açık bir '--restart = on-failure: 5' seçeneği bulunur. '--restart = her zaman kullandığınız zaman konteyner her zaman başlayacaktır. – h3nrik

+0

Bazı testler yaptım ve haklısınız, teşekkürler. Docker yeniden başlatma argümanının sadece konteyner arızaları için olduğunu varsayıyordum. Ansible eşdeğeri “restart_policy: always” – Peter