当我把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 context use default

其他回答

以下Docker的DOC站点:以非root用户管理Docker

1)创建Docker组

sudo groupadd docker 

2)使用户属于docker组,以获得docker组的权限。

sudo usermod -aG docker $USER

检查shell是否设置了DOCKER_HOST环境变量。

env | grep DOCKER_HOST

如果它存在,

unset DOCKER_HOST

然后这应该工作:

docker run hello-world

我也遇到了同样的问题——“无法连接到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

已经有很多答案了,但希望这能帮助到一些人。这是通过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

我今天开始遇到这个问题。然后我看到了很多回复,但似乎没有一个对我有用。首先,大部分指令都指向linux。对于mac版本,他们都在谈论运行docker-machine。如果你安装docker工具箱,我假设你使用docker-machine,因为docker将在windows和mac平台的虚拟机中运行。但是现在是2017年,mac的docker非常稳定,因此不需要使用工具箱。

不知道守护进程是如何停止的。但要重新启动它,我所要做的就是点击“应用程序”,双击docker图标。我被要求更新和重新发布,我接受了。从那以后,一切都很顺利。

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

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

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

docker -d

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

service docker start

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

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