Docker安装问题:无法挂载overlay:没有这样的设备storage-driver=overlay2

4

我正在尝试在Ubuntu 20.04.3 LTS上安装Docker。我是通过*.deb软件包进行安装的。在安装Docker时,出现了以下错误。

Failed to mount overlay: no such device storage-driver=overlay2

我创建了。
{
  "storage-driver": "overlay2"
}

根据https://docs.docker.com/storage/storagedriver/overlayfs-driver/,但这也没有帮助。

编辑1:

lsmod | grep overlay 返回为空。

sudo modprobe overlay 返回致命错误。事实上,在内核的uname -a版本下,/lib/modules/下没有模块文件。


1
lsmod | grep overlay 的结果是什么?如果返回为空,请尝试 sudo modprobe overlay 然后尝试启动 Docker。 如果这样可以解决问题,那么您需要找出为什么应默认加载此内核模块,却没有加载的原因。最明显的是查看是否未在 /etc/modprobe.d/*.conf 下的某个文件中被列入黑名单。注意:如果该模块已经被默认加载,请不要在评论中回复,而是编辑您的问题。 - Zeitounator
lsmod | grep overlay 返回空值。sudo modprobe overlay 返回致命错误。实际上,在 /lib/modules/ 下没有针对 uname -a 版本的内核的模块文件。 - user3817287
1
你是否安装了 linux-modules-$(uname -r) 包?它包含了应该存在于 /lib/modules/$(uname -r)/kernel/fs/overlayfs/overlay.ko 的覆盖模块。 - Zeitounator
1
如果这是一次升级,基于这个答案,我建议运行sudo apt-get install --reinstall linux-modules-$(uname -r),看看是否可以解决你的问题。 - Zeitounator
它没有安装linux-modules-$(uname -r)。因为这是一个与互联网隔离的虚拟机(尽管我可以通过其他方式传输数据)。是否有任何Linux模块安装文件可用于安装/lib/module文件?我一直在寻找但没有成功。 - user3817287
1
例如在这个apt镜像上。 - Zeitounator
1个回答

10

对我来说,当尝试启动docker.service时,出现了错误。我发现这是因为我升级了内核但还没有重新启动系统,modprobe会失败而没有错误消息,因为路径/usr/lib/modules/$(uname -r)/不再存在。

我重新启动了系统,服务正常启动。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接