我收到一条错误消息,指出我无法连接到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.
Docker版本
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
任何帮助将不胜感激.如果您可能需要更多信息,请与我们联系.
调试15分钟后,我遇到了同样的错误.原来所有它需要的是sudo
:)查看[创建一个Docker组]这里https://docs.docker.com/engine/installation/linux/ubuntulinux/摆脱sudo前缀.
看来您的问题是由旧的Docker错误创建的,其中Docker崩溃后没有重新创建套接字文件.如果这是问题,那么重命名套接字文件应该允许重新创建它:
$ sudo service docker stop $ sudo mv /var/lib/docker /var/lib/docker.bak $ sudo service docker start
由于此错误已得到修复,因此大多数收到错误的Couldn't connect to Docker daemon
人可能会收到错误,因为他们不在docker
组中且没有读取该文件的权限.运行with sudo docker ...
将解决这个问题,但不是一个很好的解决方案.
Docker可以作为sudo
具有适当组权限的非root用户(没有)运行.在Linux的安装后的文件有细节.简短版本:
$ sudo groupadd docker $ sudo usermod -aG docker $USER # Log out and log back in again to apply the groups $ groups # docker should be in the list of groups for your user $ docker run hello-world # Works without sudo
这允许docker
组中的用户无需运行docker
和docker-compose
命令sudo
.Docker本身运行根,允许一些攻击,所以你仍然需要小心你运行的容器.有关详细信息,请参阅Docker安全文档.
我遇到了这个问题,不想使用搞乱事情sudo
。调查时,我尝试获取一些信息:
docker info
令人惊讶的是,我遇到以下错误:
尝试连接到unix:///var/run/docker.sock上的Docker守护程序套接字时获得的权限被拒绝:获取http:///var/run/docker.sock/v1.38/info:拨打unix / var /run/docker.sock:连接:权限被拒绝
由于某种原因,我没有足够的特权,以下命令解决了我的问题:
sudo chown $USER /var/run/docker.sock
等等!
我遇到过同样的问题.在记笔记并分析一些调试结果后,最后,我解决了可能是同一个错误.首先启动服务,
service docker start
不要忘记将用户包含在docker组中.