Docker - 无法连接到Docker守护程序

时间:2016-04-16 12:39:53

标签: ubuntu docker ubuntu-14.04 docker-compose docker-machine

我开始了

ERROR: Couldn't connect to Docker daemon - you might need to run `docker-machine start default`. 

但我没有使用docker-machine(虽然我安装了0.5.2版本)

我使用Ubuntu 14.04 LTS e Docker 1.11.0直接在我的Docker-compose 1.7.0中运行泊坞广告。

为什么我收到此错误?我应该卸载docker-machine,因为我不使用它或升级它?问题还有别的吗?

2 个答案:

答案 0 :(得分:2)

如果没有更多信息,很难知道可能会发生什么。但是在Docker Machine之外,错误通常是因为您的用户不在override func组中。默认情况下,套接字不允许docker以外的用户使用套接字。

您可以在https://docs.docker.com/engine/installation/linux/ubuntulinux/#create-a-docker-group找到更多信息和解决方案。但通常您只需要使用命令root将用户添加到docker组。

但是,您需要注意,这相当于向该用户授予root权限。您允许该用户运行可以以root身份挂载文件夹的Docker容器。

答案 1 :(得分:0)

我遇到同样的问题,必须将docker docker.sock docker.pid的所有权从root:root更改为位于$USER:docker的{​​{1}},因为这是在尝试连接到Docker守护程序时被拒绝的权限。来自here的更多有用信息。

提供非root权限

docker守护程序始终以root用户身份运行,自Docker版本0.5.2起,docker守护程序绑定到Unix套接字而不是TCP端口。默认情况下,Unix套接字由root用户拥有,因此,默认情况下,您可以使用sudo访问它。

从版本0.5.3开始,如果您(或您的Docker安装程序)创建一个名为docker的Unix组并向其添加用户,则docker守护程序将使docker组的Unix套接字的所有权可读/写。守护进程开始。