docker 错误初始化图形驱动程序:不支持驱动程序

Sre*_*ova 5 centos docker

我在 CentOS 7 VM 中执行旧版本的 docker 时遇到问题。我安装了 docker,Docker version 17.09.1-ce因为它是我需要的版本,我需要在它上面运行一些软件,而最新版本Docker version 17.12.1-ce与它不兼容,所以我需要安装旧版本。

但是,我按照 docker 中的描述安装了docker,看起来它做得很好,但是当我去运行 hello world 图像时,我得到:

docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
Run Code Online (Sandbox Code Playgroud)

所以,然后我做了:

dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)

然后我收到这个错误:

WARN[2018-03-04T19:32:51.374105228Z] [!] DON'T BIND ON ANY IP ADDRESS WITHOUT setting --tlsverify IF YOU DON'T KNOW WHAT YOU'RE DOING [!] 
INFO[2018-03-04T19:32:51.404324386Z] libcontainerd: new containerd process, pid: 14728 
WARN[0000] containerd: low RLIMIT_NOFILE changing to max  current=1024 max=4096
ERRO[2018-03-04T19:32:52.452025257Z] [graphdriver] prior storage driver overlay2 failed: driver not supported 
Error starting daemon: error initializing graphdriver: driver not supported
Run Code Online (Sandbox Code Playgroud)

那是什么?我应该怎么做才能执行 docker 守护进程但仍然使用我安装的 docker 版本?

小智 1

当我尝试在 CentOS 虚拟机上使用 docker-machine 时,我遇到了类似的问题。结果 docker-machine 将名为 10-machine.conf 的文件复制到:

/etc/systemd/system/docker.service.d/10-machine.conf
Run Code Online (Sandbox Code Playgroud)

在此文件中,dockerd 被传递 --storage-driver=overlay2。当我删除这个选项时,docker 将毫无问题地启动。

为了进行半永久性修复,我创建了一个新文件:

/etc/systemd/system/docker.service.d/20-machine.conf
Run Code Online (Sandbox Code Playgroud)

我删除了 --storage-driver=overlay2 选项。然后 Docker-machine 将正确创建环境。

奇怪的是,如果我运行 docker info,我的 docker 引擎确实使用了overlay2。