Назад | Перейти на главную страницу

Как заставить Docker автоматически выжить при обновлении ядра и перезапуске?

Краткий вопрос: Docker, Ubuntu 16.04, автоматическое обновление безопасности и перезагрузка. Тогда как я могу обеспечить новейшие linux-изображение-extra-`uname -r` был установлен до того, как Docker попытается запустить контейнеры после автоматического обновления и перезагрузки безопасности?

Подробный вопрос: (все ниже)

Я использую Docker и Docker-Compose для развертывания своего веб-приложения. Я настроил контейнеры Docker для автоматического запуска при перезагрузке. И я настроил автоматические обновления безопасности, включая автоматические перезапуски.

Это означает, что время от времени автоматически устанавливается новое ядро ​​и перезагружается сервер. После этого Docker не запустится, потому что:

предыдущий драйвер хранилища "aufs" не удалось: драйвер не поддерживается

(говорит service docker start). Чтобы решить эту проблему, необходимо:

sudo apt-get install linux-image-extra-`uname -r`

Итак, я добавил это в crontab:

root@edgoew1dal16gandi:~# crontab -l
...
@reboot apt-get install linux-image-extra-`uname -r` 2>&1 >> /tmp/cron-edm.log

Но это не удается, потому что: (я вижу в файле /tmp/cron-edm.log)

Err:1 http://security.ubuntu.com/ubuntu xenial-security/main
                amd64 linux-image-extra-4.4.0-24-generic amd64 4.4.0-24.43
  Temporary failure resolving 'europe-west1.gce.archive.ubuntu.com'

Однако, если я запустил команду вручную после перезагрузки то работает. По-видимому, apt-get не работает, потому что запускается слишком рано после перезагрузки?

Поэтому мне интересно, как я могу это сделать:

apt-get install linux-image-extra-`uname -r`

автоматически, после каждой перезагрузки сервера, и перед Docker запускается без сбоя из-за вышеуказанного «Временный сбой ...» ошибка?

Вам необходимо установить виртуальный пакет для текущего ядра. linux-image-extra-.* тогда должна быть зависимость.

Поэтому, когда вы установили общее ядро, у вас должен быть linux-image-generic пакет установлен. Это зависит от тока linux-image-extra-.* как вы видете Вот.

Кстати, это не обычная проблема. Обычно это должно работать.