当我把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守护进程。这个主机上正在运行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守护进程。”(除了我在试图启动服务器时没有得到任何“文件未找到”错误。)
“ps”表示“/usr/bin/docker -d”仍在运行
我意识到我自己从来没有成功地运行过服务器。每一次尝试都产生了结果
...
2014/03/24 21:57:29 pid file found, ensure docker is not running or delete /var/run/docker.pid
所以我后来才意识到,安装docker可能已经注册了upstart守护进程,upstart已经为我启动了它。因此,试图杀死守护进程以手动重新启动它会失败(不允许操作)。所以我做了一个
sudo kill -9 <PID>
守护进程。另一个守护进程立即取代了它的位置,这个新的守护进程现在让我的CLI客户端连接:
$ sudo docker info
Containers: 0
Images: 0
Driver: aufs
Root Dir: /var/lib/docker/aufs
Dirs: 0
WARNING: No memory limit support
WARNING: No swap limit support
如果你得到消息无法连接到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守护进程已经启动。