我得到一个错误消息,说我不能连接到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

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


当前回答

在我的例子中,这是因为ubuntu权限,

列表项

检查权限

docker info 

如果他们打印问题许可, 然后使用

sudo chmod -R 777 /var/run/docker.sock

其他回答

对我来说,解决办法是使用本文安装一个较新的docker-compose版本(1.24)。

之前的版本(1.17)是从ubuntu的默认存储库安装的,但在安装了一个新版本后,我设法启动了容器。希望它能帮助到一些人。

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

值得一提的是,如果你安装了docker-desktop,你可以运行:

docker context list

这将为您提供运行docker-desktop的引擎的docker url。 然后可以设置DOCKER_HOST环境变量供compose使用。 在我的例子中,它是通过在~/.bashrc底部添加它:

export DOCKER_HOST="unix:///home/rouanubuntu/.docker/desktop/docker.sock"

这将docker-compose指向与桌面UI一起运行的引擎,这很有用。

然后执行source ~/。Bashrc或重新登录以加载它。

经过15分钟的调试后,我也犯了同样的错误。事实证明,它只需要一个sudo:)

以非root用户签出Manage Docker以去掉sudo前缀。

在我的情况下,有同样的错误,当我尝试docker-compose构建 我的解决方法就是加入sudo

sudo docker-compose build