Jak automatycznie zrestartować kontener dokera po ponownym uruchomieniu w CoreOS?

Zakładając, że Demon Dockera zostanie uruchomiony automatycznie przez dowolny init.d lub systemd jak proces gdy system operacyjny jest ponownie uruchomiony, jaki jest preferowany sposób, aby ponownie uruchomić jeden lub więcej kontenerów Docker? Na przykład mogę mieć kilka serwerów WWW za odwrotnym serwerem proxy lub serwerem bazy danych.

Author: halfer, 2013-09-13

6 answers

CoreOS używa systemd do zarządzania długo działającymi usługami:

 14
Author: Mark O'Connor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-24 11:03:39

Jeśli uruchomisz demona z docker -d -r, uruchomi on ponownie wszystkie kontenery uruchomione przed zatrzymaniem demona. Stanie się to domyślnym zachowaniem w następnym wydaniu.

 31
Author: creack,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-14 00:27:11

Zadziałało dla mnie dodanie --restart='always' do kontenera {run-d ...} command

 11
Author: hani elabed,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-01 08:37:53

Jedyną dokumentacją jaką widziałem jest Docker ' s Host Integration docs, które są nieco lekkie pod względem szczegółów itp.

Zasadniczo sugeruje uruchomienie demona z -r=false i użycie systemd(lub upstart, jeśli używasz czegoś innego niż CoreOS).

 1
Author: docwhat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-07 19:25:05

Dla osób, które chcą automatycznie zrestartować kontener Dockera, ale nie określiły znacznika --restart (domyślnie "nie") podczas jego uruchamiania, możesz użyć polecenia docker update, aby dodać jedną z następujących trzech opcji:

  • on-failure
  • unless-stopped
  • zawsze

Zobacz ten post Po szczegóły. Ludzie mają problem z włączoną flagą restartu always, mogą rozważyć użycie opcji on-failure lub unless-stopped.

 1
Author: Frank Wong,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-03 21:14:03

Używane Restart i RestartSec aby to działało:

# Restart after crash
Restart=on-failure
# Give the service 10 seconds to recover after the previous restart
RestartSec=10s

Zobacz dokumentację .

 -1
Author: czerasz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-05 21:38:59