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

我怎么解决这个问题?


当前回答

我知道这篇文章里已经有很多答案了。只是我想补充一个简单的答案,解决上述问题。

sudo systemctl start docker

运行上面的命令,它将启动所有与docker相关的线程/服务。

其他回答

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

sudo docker daemon --storage-driver=devicemapper

已经有很多答案了,但希望这能帮助到一些人。这是通过snap安装docker时出现的问题。通过sudo运行将允许您连接到守护进程,但这将导致其他问题。解决方案是在安装snap包之前执行以下步骤:

sudo addgroup --system docker
sudo adduser $USER docker
newgrp docker
sudo snap install docker

在此之后,docker将连接到守护进程并工作,无需sudo,不需要重新启动。

https://github.com/docker-archive/docker-snap/issues/1#issuecomment-423778054

我也有类似的问题。我不得不注销并再次登录到shell,因为我刚刚安装了Docker,下面的命令在我的环境中没有显示。

export DOCKER_HOST=127.0.0.1:4243 >> ~/.bashrc

我在安装后重新启动Docker:

$ sudo service docker stop
$ sudo service docker start

这很有效。

执行如下命令:

docker context use default