docker:无法连接到Docker守护程序

时间:2016-04-29 10:53:45

标签: ubuntu docker docker-compose

我正在运行安装了以下docker软件的Ubuntu:

$ docker version
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.3
 Git commit:   a34a1d5
 Built:        Fri Nov 20 17:56:04 UTC 2015
 OS/Arch:      linux/amd64
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

$ docker-compose -v
docker-compose version 1.7.0, build 0d7bf73

尝试运行docker-compose时出现以下错误:

$ sudo docker-compose up
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

我尝试了以下内容:

systemctl unmask docker.service
systemctl unmask docker.socket
systemctl start docker.service

sudo service docker status
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2016-04-29 13:36:57 CEST; 4min 3s ago
     Docs: https://docs.docker.com
 Main PID: 6394 (docker)
   Memory: 13.3M
      CPU: 119ms
   CGroup: /system.slice/docker.service
           └─6394 /usr/bin/docker daemon -H fd://

Apr 29 13:36:57 Charles docker[6394]: time="2016-04-29T13:36:57.722083467+02:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon opt...d IP address"
Apr 29 13:36:57 Charles docker[6394]: time="2016-04-29T13:36:57.805189862+02:00" level=warning msg="Your kernel does not support swap memory limit."
Apr 29 13:36:57 Charles docker[6394]: time="2016-04-29T13:36:57.827955299+02:00" level=info msg="Loading containers: start."
Apr 29 13:36:57 Charles docker[6394]: time="2016-04-29T13:36:57.828083895+02:00" level=info msg="Loading containers: done."
Apr 29 13:36:57 Charles docker[6394]: time="2016-04-29T13:36:57.828095512+02:00" level=info msg="Daemon has completed initialization"
Apr 29 13:36:57 Charles docker[6394]: time="2016-04-29T13:36:57.828125198+02:00" level=info msg="Docker daemon" commit=a34a1d5 execdriver=native-0.2 graphdriver=aufs version=1.9.1
Apr 29 13:36:57 Charles systemd[1]: Started Docker Application Container Engine.
Apr 29 13:37:10 Charles systemd[1]: Started Docker Application Container Engine.
Apr 29 13:37:34 Charles systemd[1]: Started Docker Application Container Engine.
Apr 29 13:38:01 Charles systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.
anton@Charles:~/Documents/software/deliverable$ docker ps
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

须藤?

当我使用sudo docker运行时似乎正在运行:

$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
$ docker ps
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

看看这个thread。它似乎处理同样的问题。

答案:

  

Docker机器正在运行。但是您需要导出一些环境才能连接到Docker机器。默认情况下,docker CLI客户端尝试使用http + unix://var/run/docker.sock与守护进程通信(如错误消息中所示)。

     

使用eval $(docker-machine env dev)导出正确的环境变量,然后重试。您也可以运行docker-machine env dev来查看它将导出的环境变量。请注意,其中一个是DOCKER_HOST,就像错误消息表明您可能需要设置一样。

答案 1 :(得分:1)

添加sudo

这个答案来自verification, validation, and test