当我把Docker版本更新到0.8.0后,我在输入sudo Docker version时得到了一个错误消息:

Client version: 0.8.0
Go version (client): go1.2
Git commit (client): cc3a8c8
2014/02/19 12:54:16 Can't connect to docker daemon. Is 'docker -d' running on this host?

我按照说明,输入命令sudo docker -d,我得到了这个:

[/var/lib/docker|2462000b] +job initserver()
[/var/lib/docker|2462000b.initserver()] Creating server
open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory[/var/lib/docker|2462000b] -job initserver() = ERR (1)
2014/02/19 12:55:57 initserver: open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory

我怎么解决这个问题?


当前回答

如果上面所有的解决方案都不起作用,你可以尝试检查/var/run/docker.sock的所有权:

ls -l /var/run/docker.sock

如果你不是所有者,那么使用以下命令改变所有者:

sudo chown *your-username* /var/run/docker.sock

然后,您可以继续尝试轻松地执行Docker命令

其他回答

执行ps aux | grep docker查看守护进程是否正在运行。如果没有,执行/etc/init.d /码头工人开始

我还遇到了“无法连接到Docker守护进程”的问题。这台主机上是否运行docker守护进程?”

我忘了用sudo。希望它能帮助到我们中的一些人。

$:docker images
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

$:sudo docker images
REPOSITORY   TAG   IMAGE ID   CREATED   SIZE

尝试修改/etc/sysconfig中的Docker配置文件,Docker或Docker -network:

(…~ v1.17)

码头工人文件:

OPTIONS= -H fd://

或(v1.18):

docker-network文件:

DOCKER_NETWORK_OPTIONS= -H unix:///var/run/docker.sock

如果上面所有的解决方案都不起作用,你可以尝试检查/var/run/docker.sock的所有权:

ls -l /var/run/docker.sock

如果你不是所有者,那么使用以下命令改变所有者:

sudo chown *your-username* /var/run/docker.sock

然后,您可以继续尝试轻松地执行Docker命令

运行守护进程的命令如下:

sudo nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock &

脚本让守护进程在后台运行,在Docker准备就绪后,您可以测试它是否接受命令。

sudo docker info

更多信息请看这个: https://www.upcloud.com/support/how-to-configure-docker-swarm/