今天我在一个 debian 伸展主机中将 docker 从 18.06 升级到 18.09。升级后,我们所有的图像和容器都“消失”了,即docker <command>
不再显示它们,但其中的数据/var/lib/docker
并没有消失。dockerd -D
揭晓:
Cannot load container XXX because it was created with another graph driver
所以我做的第一件事就是将 docker 降级到最后一个版本,以检查是否可以修复它。它有点工作。之前工作的 systemd 单元文件无法启动 docker 服务。结果我必须明确地传递-s devicemapper
到dockerd
现在,我不知道为什么,因为显然升级到 18.09 确实放了/var/lib/docker/overlay2
它,我只需要删除它就可以像以前一样启动 18.06。
因此,在我确认上一个 docker 版本已解决此问题后,我再次升级到 18.09 并尝试是否-s devicemapper
显式传递此处的技巧。但是在 18.09 中,守护进程甚至根本不会启动并抱怨:
Failed to GetDriver graph driver=devicemapper error="graphdriver plugins are only supported with experimental mode" home-dir=/var/lib/docker
我找不到任何关于devicemapper
被弃用或类似的东西,那么在升级之前我应该做什么?是否有任何一般性建议/最佳实践来避免此类问题?