主机内核降级后,所有图像和容器都消失了

时间:2014-10-07 13:38:11

标签: docker

美好的一天。

在主机上安装了内核3.16。通过deb软件包安装内核3.14后,我丢失了所有的docker镜像和容器。输出命令"泊坞窗图像"和#34; docker ps -a"是空的。这是docker的正常行为吗?

感谢。

3 个答案:

答案 0 :(得分:10)

我会自己回答。这可能对某人有用。

Docker使用了存储驱动程序" aufs"在旧内核上。因此模块" aufs.ko"必须加载。在新的内核支持中,没有启用aufs,并且docker开始使用存储驱动程序" devicemapper"。

答案 1 :(得分:3)

要在Ubuntu上实际修复它,请运行

sudo apt-get -y install linux-image-extra-$(uname -r)

这将安装docker所需的aufs内核模块,但在内核升级期间可能会丢失。不确定包管理器为什么会错过这种依赖。

答案 2 :(得分:2)

正如Denis Pitikov指出的那样,如果创建它们的存储驱动程序(例如aufs)不再可用,则图像和容器可能会消失。

在Ubuntu 14.04上运行时,当前Docker install script会自动安装linux-image-extra-*包(适用于您当前的内核版本)。这包括aufs内核模块。

在某些系统上,可能未安装linux-image-generic包。在这些系统上,下次运行dist-upgrade时,将升级内核,但不会安装相应的linux-image-extra-*。当你重新启动时,你不会拥有aufs模块,你的容器和图像可能已经消失。

要解决此问题:首先,检查您是否已经在运行通用内核:

$ uname -r
3.13.0-49-generic

如果是,请考虑安装linux-image-generic

$ apt-get install linux-image-generic

这会将您的内核升级到该软件包所需的版本,并且也会安装-extra软件包。

相关问题