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

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

$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?

我怎样才能解决这个问题?

最佳答案 看看这个
thread.它似乎处理同样的问题.

回答:

The Docker machine is running. But you need to export some environment to connect to the Docker machine. By default, the docker CLI client is trying to communicate to the daemon using http+unix://var/run/docker.sock (as shown in the error message).

Export the correct environment variables using eval $(docker-machine env dev) and then try again. You can also just run docker-machine env dev to see the environment variables it will export. Notice that one of them is DOCKER_HOST, just as the error message suggests you may need to set.

点赞