当我把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,运行下面的eval对我来说是有效的。
eval "$(docker-machine env default)"
如果你不想在每个终端会话上都运行这个eval语句,你可以在bash_profile中添加:
#Docker
eval "$(docker-machine env default)"
确保重新启动终端会话或在bash_profile上运行source以使更改生效。
如果你在OS X上运行Docker,运行下面的eval对我来说是有效的。
eval "$(docker-machine env default)"
如果你不想在每个终端会话上都运行这个eval语句,你可以在bash_profile中添加:
#Docker
eval "$(docker-machine env default)"
确保重新启动终端会话或在bash_profile上运行source以使更改生效。
我在亚马逊AWS上运行时也遇到了同样的问题。
以下是我的尝试:
使用已经存在的AWS实例在本地设置docker-machine
使用的通用设置
它算是连接上了,但因为远程端口关闭了,所以失败了
在那之后,Docker守护进程拒绝启动,但是运行dockerd可以工作…
在远程机器上进行了如下测试:
service docker start # Also restart, no success
systemctl start docker # Also restart, no success
dockerd # Success
我删除了/var/lib/docker并卸载了所有内容,但重新安装后没有成功。不幸的是,我没有日志存储从失败,但docker。服务拒绝启动。
然而,最终解决我问题的基本上是:
sudo usermod -aG docker $(whoami)
如果你得到消息无法连接到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守护进程已经启动。