Ubuntu 18.04 更新后 Docker 服务不再启动:dm_task_run failed / no such device storage-driver=overlay2
Posted
技术标签:
【中文标题】Ubuntu 18.04 更新后 Docker 服务不再启动:dm_task_run failed / no such device storage-driver=overlay2【英文标题】:Docker service does not start anymore after Ubuntu 18.04 update: dm_task_run failed / no such device storage-driver=overlay2 【发布时间】:2020-12-28 20:23:49 【问题描述】:在 Ubuntu 18.04(当前为 18.04.5)上触发无人值守升级并重新启动服务器后,我的 docker 服务不再启动。所以我尝试使用 sudo dockerd 手动运行它,但出现以下错误:
无法挂载覆盖:没有这样的设备 storage-driver=overlay2 docker 无法启动守护进程:初始化图形驱动程序时出错:驱动程序没有 支持
在摆弄各种建议(包括强制重启 x 次)后,我放弃并卸载了 docker(包括删除 usr/lib/docker)以重新安装最新版本。但这只是将错误消息更改为:
无法启动守护程序:初始化图形驱动程序时出错:设备映射器: 错误运行 deviceCreate (CreatePool) dm_task_run failed
我有足够多的磁盘空间,并且已经尝试删除 /usr/lib/docker 文件夹(顺便说一句,我之前的安装至少没有 overlay2 文件夹),但这些建议不起作用.如果我强制 --storage-driver=overlay2 我从上面得到旧的“无法安装覆盖:...”。
我现在完全不知道如何解决这个问题。有什么想法吗?
编辑:似乎所有 dm_* 错误都不应该是我的问题,因为它们来自不应该使用的 devicemapper。相反,overlay2 的东西应该可以工作。所以这一切都归结为:为什么 overlay2 在我的机器上不起作用(不再?)?
当前版本:
Ubuntu 18.04.5 LTS(GNU/Linux 4.15.0-106-generic x86_64) Docker 版本 19.03.12,内部版本 48a66213fe完整的错误信息:
INFO[2020-09-10T12:38:41.720023381+02:00] 启动 INFO[2020-09-10T12:38:41.721017055+02:00] 检测到 127.0.0.53 名称服务器,假设 systemd-resolved,所以使用 resolv.conf: /run/systemd/resolve/resolv.conf INFO[2020-09-10T12:38:41.723286420+02:00] 解析方案:“unix” 模块=grpc INFO[2020-09-10T12:38:41.723397263+02:00] 方案“unix” 未注册,回退到默认方案 module=grpc INFO[2020-09-10T12:38:41.723468274+02:00] ccResolverWrapper:发送 更新到 cc: [unix:///run/containerd/containerd.sock 0 ] 模块=grpc 信息[2020-09-10T12:38:41.723493045+02:00] ClientConn 将平衡器切换到“pick_first”模块=grpc INFO[2020-09-10T12:38:41.727552254+02:00] 解析方案:“unix” 模块=grpc 信息[2020-09-10T12:38:41.727619515+02:00] 方案“unix” 未注册,回退到默认方案 module=grpc INFO[2020-09-10T12:38:41.727666336+02:00] ccResolverWrapper:发送 更新到 cc: [unix:///run/containerd/containerd.sock 0 ] 模块=grpc 信息[2020-09-10T12:38:41.727698707+02:00] ClientConn 将平衡器切换到“pick_first”模块=grpc ERRO[2020-09-10T12:38:41.845132923+02:00] [graphdriver] 事先存储 driver devicemapper failed: devicemapper: Error running deviceCreate (CreatePool) dm_task_run failed 启动守护进程失败:错误 初始化graphdriver:devicemapper:运行deviceCreate时出错 (CreatePool) dm_task_run 失败
【问题讨论】:
【参考方案1】:我终于找到了解决办法:好像是ubuntu更新在更新内核时搞砸了。重新安装内核后一切正常,docker 使用 overlay2 运行。
所以对我来说是:
sudo apt-get install --reinstall linux-image-4.15.0-106-generic
【讨论】:
这对我有用。对于其他人:您的内核可能不同。运行sudo apt-get install --reinstall linux-image-`uname -r`
和 sudo reboot
以使更改生效。以上是关于Ubuntu 18.04 更新后 Docker 服务不再启动:dm_task_run failed / no such device storage-driver=overlay2的主要内容,如果未能解决你的问题,请参考以下文章