当我把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

我怎么解决这个问题?


当前回答

如果你在OS X上使用Docker工具,请遵循以下步骤。

重新启动守护进程并配置您的环境:

docker-machine restart

然后

docker-machine env

最后,

eval $(docker-machine env)

测试守护进程是否正在运行:

Docker ps -a或Docker -machine ls。这将列出所有的容器。

其他回答

您可以使用该命令

sudo service docker stop && sudo service docker start

OR

sudo service docker restart

简单地重新启动它。

如果你得到消息无法连接到docker守护进程。这个主机上正在运行docker -d吗?,你可以通过docker版本来检查。

如果你看到Docker Client is running。但是Docker服务器不是,很明显你需要启动Docker服务器。

在CentOS中,您可以使用service来启动或停止Docker服务器。

$ sudo service docker stop
$ sudo service docker start

然后输入docker version,就会得到docker Client和docker Server的信息,说明docker守护进程已经启动。

当您不在docker组中时,通常会发生这种情况。您可以通过以下方式将自己添加到docker组:

sudo usermod -aG docker yourusername

or

sudo usermod -aG docker $(whoami)

在此之后,您需要注销并重新登录到服务器。

或者,您可以sudo每个Docker命令。

我在Ubuntu 14.04上运行Docker 1.10时遇到了同样的问题,所有给出的答案都不能正常工作。对我来说,解决办法是在运行Docker守护进程时指定存储驱动程序。

sudo docker daemon --storage-driver=devicemapper

我遇到过这个问题,我用这些命令重新启动了Docker:

$ sudo service docker stop
$ sudo service docker start

但是我没有解决我的问题,因为我忘记在没有sudo的情况下执行Docker命令。对于那些面临这个问题的人,试着检查一下。

Try

$ sudo docker info

而不是这样:

$ docker info