将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 -aLinux 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 -aLinux 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 -vDocker version 18.09.0, build 4d60db4
我该如何解决?
最佳答案
您必须覆盖一部分容器服务文件:
systemctl edit containerd.service
然后插入以下内容并保存:
[Service]
ExecStartPre=
之后,您将能够启动docker。
供引用:https://github.com/docker/for-linux/issues/475#issuecomment-437373774
本质上,您的systemd文件需要清除ExecStartPre值,最好使用覆盖文件,以便升级可以正确更新主文件。