首页 > 解决方案 > 更新 docker(18.09.0) 会导致错误

问题描述

将 docker 更新到版本 18.09.0 后,我收到以下错误(使用 Ubuntu 18.04 的虚拟服务器):

Nov 09 20:53:52 localhost.localdomain modprobe[663]: modprobe: ERROR: ../libkmod/libkmod.c:514 lookup_builtin_file() could not open buitin file '/lib/modules/4.15.0/modules.builtin.bin

Nov 09 20:53:52 localhost.localdomain modprobe[663]: modprobe: FATAL: Module overlay not found in directory /lib/modules/4.15.0

uname -a Linux localhost.localdomain 4.15.0 #1 SMP Wed May 23 10:04:13 MSK 2018 x86_64 x86_64 x86_64 GNU/Linux

同样在 Majaro 的 LXC 容器(使用 Ubuntu 18.04)上

Nov 09 21:06:38 Ubuntu modprobe[5393]: modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.14.78-1-MANJARO/modules.dep.bin' Nov 09 21:06:38 Ubuntu modprobe[5393]: modprobe: FATAL: Module overlay not found in directory /lib/modules/4.14.78-1-MANJARO

uname -a Linux Ubuntu 4.14.78-1-MANJARO #1 SMP PREEMPT Sun Oct 21 07:57:51 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

docker -v Docker version 18.09.0, build 4d60db4

我该如何解决?

标签: dockerubuntu-18.04

解决方案


您必须覆盖一部分 containerd 服务文件:

systemctl edit containerd.service

然后插入以下内容并保存:

[Service]
ExecStartPre=

之后,您将能够启动 docker。供参考:https ://github.com/docker/for-linux/issues/475#issuecomment-437373774

本质上,您的 systemd 文件需要清除 ExecStartPre 值,最好使用覆盖文件,以便升级将正确更新主文件。


推荐阅读