Перезапуск контейнера Docker после перезагрузки виртуальной машины

#docker

#docker

Вопрос:

мы развернули контейнер docker, и политика перезапуска такова --restart unless-stopped . Это запустит контейнер после перезагрузки виртуальной машины. Служба docker также может запускать службу после перезагрузки.

Проблема в том, что всякий раз, когда происходит перезагрузка, список контейнеров и изображений исчезает. Решение для этого — перезапустить службу docker. итак, после того, как этот контейнер появится.

итак, вопрос в том, почему нам нужно перезапускать службу docker даже после того, как она включена для запуска после перезагрузки?

цените помощь в этом?

Ответ №1:

Я не знаю истинных внутренностей Docker Engine, но я делаю свои предположения:

При перезапуске виртуальной машины (или собственного хоста) механизм docker останавливается, поэтому контейнеры также получают сигнал «стоп» (в фоновом systemctl stop docker режиме будет выполняться a)

То, что вы делаете с systemctl restart docker помощью (или аналогичной команды), отправляет сигнал «restart» на механизм docker, а не «stop».

Вы должны использовать --restart always , если хотите быть уверены, что контейнеры перезапускаются автоматически при новом запуске / перезапуске виртуальной машины.

Комментарии:

1. Я пробовал с --restart always той же проблемой.

2. Проблема решена, у нас есть локальный root FS partition , и это наш докер data-root . Запуск службы Docker происходит до монтирования. Это основная причина для меня.