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

我怎么解决这个问题?


当前回答

LINUX

你可以用这个答案https://stackoverflow.com/a/33596140/13997503 即使在使用这个之后,仍然会得到相同的错误。然后你可能已经安装了docker桌面,现在切换到docker引擎

可以使用此命令删除docker桌面服务文件

$ rm -rf ~/.docker

其他回答

如果重新生成TLS证书不起作用

docker-machine regenerate-certs default

尝试重新启动docker机器并设置env变量:

docker-machine restart default
eval $(docker-machine env default)

检查机器是否运行:

docker-machine ls

或者

docker run hello-world

这对我很管用。但是,如果您仍然没有启动守护进程,Docker的故障排除页面详细说明了停止、删除和创建新机器的过程。

我也遇到过类似的问题。

在我的案例中,解决方案是删除一个已弃用的docker版本。我认为这引起了一些冲突。

在ubuntu上:

sudo apt remove docker

帮我解决了问题

Docker服务可能没有运行。

如果您使用的是RedHat/Fedora/CentOS,请尝试以下操作:

Sudo systemctl start docker

如果你使用的是Ubuntu/Debian:

Sudo服务启动docker

Docker将开始在您的主机和相应的端口上运行。

LINUX

你可以用这个答案https://stackoverflow.com/a/33596140/13997503 即使在使用这个之后,仍然会得到相同的错误。然后你可能已经安装了docker桌面,现在切换到docker引擎

可以使用此命令删除docker桌面服务文件

$ rm -rf ~/.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/