#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 происходит до монтирования. Это основная причина для меня.