我正在使用Ubuntu 14.04和docker v1.8.2。Docker以前工作得很好。然后我把我的Linux内核从3.16升级到4.05,现在docker坏了。
<<h3>码头工人图像/h3>simlw@sim-lw:~$ docker images
Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
ps auxwww | grep docker
simlw@sim-lw:~$ ps auxww | grep docker
simlw 23085 0.0 0.0 15976 2276 pts/24 S+ 13:12 0:00 grep --color=auto docker
sudo docker -dsimlw@sim-lw:~$ sudo docker -d
Warning: '-d' is deprecated, it will be removed soon. See usage.
WARN[0000] please use 'docker daemon' instead.
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
ERRO[0000] [graphdriver] prior storage driver "aufs" failed: driver not supported
FATA[0000] Error starting daemon: error initializing graphdriver: driver not supported
有人知道如何解决这个问题吗?提前谢谢。
请注意,我已经读到无法连接到Docker守护进程。docker -d'在这个主机上运行?和Docker守护进程没有运行,它们都不能帮助我。
Ubuntu从内核包3.18版开始就放弃了对AUFS的支持,因为从那个版本开始,OverlayFS是Linux内核的一部分。我认为你的docker守护进程正试图使用AUFS驱动程序,因为你有一个/var/lib/docker/aufs
文件夹。无论如何,您可以在运行docker守护进程时使用-s
或--storage-driver=
选项强制使用正确的存储驱动程序。
因此,首先,要测试守护进程是否与OverlayFS存储驱动程序一起工作,请在终端中运行该守护进程:sudo docker daemon -s overlay
。一旦您测试它工作正常,您就可以永久地修改它,编辑文件/etc/default/docker
,添加下一行:
# Force OverlayFS for storage driver
DOCKER_OPTS="$DOCKER_OPTS -s overlay"
我从Debian Jessie升级到测试版,现在使用linux-image-4.2,我遇到了同样的问题,缺少aufs驱动程序。
一个快速的解决方法是删除docker aufs文件夹。您可能会丢失一些数据,所以请小心操作!
sudo rm/var/lib/docker/aufs
如果docker守护进程已经在运行,或者您可以成功地运行root
命令,您可能需要使用以下命令将您的用户id添加到docker组:
sudo usermod -aG docker <userid>
,然后注销。如果您仍然得到相同的信息,请尝试:
sudo service docker restart