如何使Docker自动执行内核升级并重新启动?

简单的问题:Docker,Ubuntu 16.04,自动安全升级和重启。 那么我怎样才能确保在自动安全升级和重新启动后,Docker尝试启动容器之前,已经安装了最新的linux-image-extra-`uname -r`

详细的问题:(下面的一切)

我正在使用Docker和Docker-Compose来部署我的Web应用程序。 我已经configuration了Docker容器在重启时自动启动。 而且,我configuration了自动安全升级,包括自动重新启动。

这意味着不时地,一个新的内核被自动安装,服务器重新启动。 在此之后,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-.* ,你可以在这里看到。

顺便说一句,这不是一个正常的问题。 它通常应该只是工作。