无法在 Ubuntu 16.04 上启动 docker,出现驱动程序不支持错误

无法在 Ubuntu 16.04 上启动 docker,出现驱动程序不支持错误

尝试在 Ubuntu 16.04 上运行最近安装的 docker

systemctl status docker.service

出现错误:

level=info msg="libcontainerd: new containerd process, pid: 11293"
level=error msg="[graphdriver] prior storage driver \"aufs\" failed: driver not supported"
level=fatal msg="Error starting daemon: error initializing graphdriver: driver not supported"

尝试安装图像附加组件:

$ sudo apt-get -y install linux-image-extra-$(uname -r)
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package linux-image-extra-4.4.19-040419-generic
E: Couldn't find any package by glob 'linux-image-extra-4.4.19-040419-generic'
E: Couldn't find any package by regex 'linux-image-extra-4.4.19-040419-generic'

答案1

显然,删除文件夹并不是最好的做法,因为您将删除正在运行的所有容器。更好的做法是安装与您当前内核相对应的 linux-image-extras 包。

sudo apt-get update
sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual

sudo modprobe aufs

sudo service docker restart

https://mymemorysucks.wordpress.com/2016/03/31/docker-graphdriver-and-aufs-failed-driver-not-supported-error-after-ubuntu-upgrade/

答案2

我做了一些研究并找到了答案,我可以通过使用 overlay2 作为存储驱动程序来解决这个问题,我按照下面的链接进行操作:https://docs.docker.com/engine/userguide/storagedriver/overlayfs-driver/

下面是我解决该问题的步骤:停止 Docker。

$ sudo systemctl stop docker 将 /var/lib/docker 的内容复制到临时位置。

$ cp -au /var/lib/docker /var/lib/docker.bk

编辑 /etc/docker/daemon.json。如果尚不存在,请创建它。假设该文件为空,请添加以下内容。

{ “存储驱动程序”:“overlay2” }

启动 Docker。

$ sudo systemctl 启动 docker

验证守护进程是否正在使用 overlay/overlay2 存储驱动程序。$ sudo docker info

此后,我能够在“16.04.2 LTS(Xenial Xerus)”上运行 docker 容器 sudo docker run -dit ubuntu

Docker CE

对于 Docker CE,仅测试了部分配置,并且您的操作系统内核可能不支持每个存储驱动程序。通常,以下配置适用于较新版本的 Linux 发行版:

Linux 发行版 支持的存储驱动程序 Ubuntu 上的 Docker CE aufs、devicemapper、overlay2(Ubuntu 14.04.4 或更高版本、16.04 或更高版本)、overlay、zfs

https://github.com/moby/moby/issues/24023

答案3

问题是奥夫斯不支持内核 4.0.x

显然删除奥夫斯来自docker:

sudo rm -rf /var/lib/docker/aufs

解决了这个问题。

警告!

正如@dragon788 在下面的评论中提到的,这将删除所有现有的 AUFS 容器。

来源及致谢:https://github.com/docker/docker/issues/14026#issuecomment-128055691

答案4

冷重启为我们解决了这个问题。不确定是什么损坏了。我们无法删除 /var/lib/docker/aufs。

相关内容