尝试在 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
答案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
答案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。