Докер: Перезапустить контейнер только при перезагрузке? - PullRequest
1 голос
/ 20 сентября 2019

У меня есть служба docker-compose, которую нужно перезапускать только при перезапуске docker или системы.Служба не должна перезапускаться, если произошла ошибка или служба завершена.Флаги --restart unless-stopped или --restart always у меня не работают, потому что с этими флагами служба будет перезагружаться и в случае возникновения ошибки.

1 Ответ

0 голосов
/ 21 сентября 2019

У меня такой же вопрос.Я попытался с помощью докера составить restart_policy и обнаружил, что он не работает.

services: hello: deploy: restart_policy: условие: ...

ПРЕДУПРЕЖДЕНИЕ. Некоторые службы (hello) используют ключ 'deploy', который будет игнорироваться.Compose не поддерживает конфигурацию 'deploy' - используйте развертывание стека докеров для развертывания в рое.

См. Ответ здесь Docker: перезапустить контейнер только при перезагрузке?

Итак, я подумал о том, чтобы что-то сделать в Dockerfile, но в документах предлагается настроить внешний процесс для перезапуска контейнеров, используя ту же команду, которую мы используем для их нормального запуска.См. https://docs.docker.com/config/containers/start-containers-automatically/

Если политики перезапуска не удовлетворяют вашим потребностям, например, когда процессы вне Docker зависят от контейнеров Docker, вы можете вместо этого использовать диспетчер процессов, такой как upstart, systemd или supervisor.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...