Автоматически перезапускать процесс при сбое в контейнере докеров Ubuntu
У меня есть процесс в контейнере докеров Ubuntu. Если произойдет сбой, я хочу перезапустить его автоматически. Как лучше всего это сделать? Я проверил systemd (это обычный метод Linux), но докер его не поддерживает. inittab также устарел.
1 ответ
Docker предлагает такую функциональность, все, что вам нужно сделать, это определить политику перезапуска для контейнера.
Вам следует выбрать одну из доступных политик no
,always
,on-failure
,unless-stopped
и настройте свой docker run
команду соответственно.
Из документов:
Чтобы настроить политику перезапуска для контейнера, используйте флаг --restart при использовании команды docker run
Для вашего случая выберите один из always
или on-failure
.
Примечание. Приведенное выше верно только в том случае, если упомянутый процесс является точкой входа в контейнер.