我得到一个错误消息,说我不能连接到docker守护进程。我看了其他人的答案,他们也有类似的问题,但没有帮助。我运行的是Ubuntu 15.10版本。我会尽力提供我所掌握的所有信息。

root@# docker-compose -f docker-compose-deps.yml up -d
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.

码头工人版本

root@# sudo docker     version
Client:
Version:      1.9.1
API version:  1.21
Go version:   go1.4.2
Git commit:   a34a1d5
Built:        Fri Nov 20 13:20:08 UTC 2015
OS/Arch:      linux/amd64
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

Docker-Compose版本

root@# docker-compose --version
docker-compose version 1.5.2, build 7240ff3

这是我试图停止或启动服务时发生的情况…

root@# sudo service docker stop
stop: Unknown instance: 
root@# sudo service   docker start
docker start/running, process 5375

如果我运行ps aux | grep docker

root@# ps aux | grep docker
root      4233  0.0  0.0  13692  2204 pts/15   S+   10:27   0:00 grep --color=auto docker

任何帮助都将不胜感激。如果你还需要其他信息,请告诉我。


当前回答

有没有可能你删除了默认机器? 但是,首先检查是否所有文件都在那里(OSX,在其他系统上类似)

brew install docker docker-compose docker-machine xhyve docker-machine-driver-xhyve
brew link docker docker-compose docker-machine xhyve docker-machine-driver-xhyve

sudo chown root:wheel /usr/local/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
sudo chmod u+s /usr/local/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve

此外,安装Docker App,因为它更容易维护容器:

brew cask reinstall docker

从finder启动Docker应用程序(等待服务完全启动)

然后用以下方法检查安装情况:

docker-machine ls

如果列表中没有机器,创建一个并启动它:

docker-machine create default
docker-machine start default

在此之后,构建、组合和所有其他命令应该正常工作。

其他回答

在我的情况下,你的码头服务可能会停止

启动docker服务:

$ sudo systemctl start docker

命令来验证是否启动:

$ sudo docker运行hello-world

我有这个问题,不想把事情搞砸使用sudo。在调查时,我试图得到一些信息:

docker info

令人惊讶的是,我犯了以下错误:

在unix:///var/run/ Docker上尝试连接Docker守护进程套接字时被拒绝权限。sock: http:///var/run/docker.sock/v1.38/info:拨号unix /var/run/docker。Sock: connect:拒绝权限

由于某种原因,我没有足够的权限,下面的命令解决了我的问题:

sudo chown $USER /var/run/docker.sock

voila !

当Dockerfile目录中的文件不能被当前用户访问时,我得到了这个错误。docker因此不能上传完整的上下文到守护进程,并带来“无法连接到docker守护进程at http+docker://localunixsocket”消息。

我也有同样的问题。在做了笔记和分析了一些调试结果后,最终解决了什么可以是同样的错误。首先启动服务,

服务码头启动

别忘了把你的用户加入docker组。

出现此错误的另一个原因是:对我来说,这是docker-compose.yml中格式错误的图像路径定义:

  service:
    image: ${CONTAINER_REGISTRY_BASE}/my-service
   ...

看是ok'ish第一,但我有CONTAINER_REGISTRY_BASE=eu.gcr。Io /my-project/ set on env。显然,图像路径中的//导致了这个错误。

docker-compose: v.1.21.2
docker: 18.03.1-ce