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

我怎么解决这个问题?


当前回答

如果上面所有的解决方案都不起作用,你可以尝试检查/var/run/docker.sock的所有权:

ls -l /var/run/docker.sock

如果你不是所有者,那么使用以下命令改变所有者:

sudo chown *your-username* /var/run/docker.sock

然后,您可以继续尝试轻松地执行Docker命令

其他回答

我在亚马逊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守护进程。”(除了我在试图启动服务器时没有得到任何“文件未找到”错误。)

“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

尝试修改/etc/sysconfig中的Docker配置文件,Docker或Docker -network:

(…~ v1.17)

码头工人文件:

OPTIONS= -H fd://

或(v1.18):

docker-network文件:

DOCKER_NETWORK_OPTIONS= -H unix:///var/run/docker.sock

我有同样的错误,并尝试docker-machine regenerate-certs或eval..对我没用。

这适用于OS X 10.11.3 (El Capitan)和Docker v1.10.1。我只能通过删除和重新创建docker-machine来修复它。源

如果运行docker-machine ls,它会显示与下面类似的输出;

码头工人 未知的 错误 Unable to query docker version: Cannot 连接到docker引擎端点

试着移除Docker机器;

docker-machine rm -f default

其中默认是Docker机器名。然后;

docker-machine create -d virtualbox default

创建一个新的Docker机器。

再次检查现在一切看起来正常(没有错误或未知Docker):

docker-machine ls

最后,在你继续或运行Docker快速入门终端之前,不要忘记运行“$(Docker -machine env default)”。

我也有同样的问题。在CentOS 6.5中:

ps aux |grep `cat /var/run/docker.pid`

如果它显示不存在Docker守护进程,那么我输入:

docker -d

然后按Ctrl + D停止Docker。因为我们使用了-d选项,Docker将作为守护进程运行。现在我们可以做:

service docker start

然后我就可以做个分角。这是所有。

注意:如果这些不工作,你可以尝试yum更新,然后再重复这些,因为我yum安装在这些之前。