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

我怎么解决这个问题?


当前回答

为了解决这个问题,我必须启用docker服务:

sudo systemctl enable /usr/lib/systemd/system/docker.service

其他回答

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

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/

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

sudo docker daemon --storage-driver=devicemapper

执行如下命令:

docker context use default

这种情况通常不会发生。但是有一天,消息出现了(如下所示),一个简单的重启修复了它

unix:///var/run/ Docker .sock无法连接到Docker守护进程。docker守护进程正在运行吗?

为了解决这个问题,我必须启用docker服务:

sudo systemctl enable /usr/lib/systemd/system/docker.service