dav*_*ark 79 terminal ubuntu docker docker-compose
我收到一条错误消息,指出我无法连接到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.
Run Code Online (Sandbox Code Playgroud)
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?
Run Code Online (Sandbox Code Playgroud)
Docker-Compose版本
root@# docker-compose --version
docker-compose version 1.5.2, build 7240ff3
Run Code Online (Sandbox Code Playgroud)
如果我尝试停止或启动服务会发生这种情况......
root@# sudo service docker stop
stop: Unknown instance:
root@# sudo service docker start
docker start/running, process 5375
Run Code Online (Sandbox Code Playgroud)
如果我跑 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
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.如果您可能需要更多信息,请与我们联系.
Mah*_*alt 198
调试15分钟后,我遇到了同样的错误.原来所有它需要的是sudo:)查看[创建一个Docker组]这里https://docs.docker.com/engine/installation/linux/ubuntulinux/摆脱sudo前缀.
jwh*_*ock 18
看来您的问题是由旧的Docker错误创建的,其中Docker崩溃后没有重新创建套接字文件.如果这是问题,那么重命名套接字文件应该允许重新创建它:
$ sudo service docker stop
$ sudo mv /var/lib/docker /var/lib/docker.bak
$ sudo service docker start
Run Code Online (Sandbox Code Playgroud)
由于此错误已得到修复,因此大多数收到错误的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
Run Code Online (Sandbox Code Playgroud)
这允许docker组中的用户无需运行docker和docker-compose命令sudo.Docker本身运行根,允许一些攻击,所以你仍然需要小心你运行的容器.有关详细信息,请参阅Docker安全文档.
mad*_*oue 17
我遇到了这个问题,不想使用搞乱事情sudo。调查时,我尝试获取一些信息:
docker info
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,我遇到以下错误:
尝试连接到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
Run Code Online (Sandbox Code Playgroud)
等等!
Dem*_*zer 13
试试吧sudo。好像是权限问题!
sudo docker-compose -f docker-compose-deps.yml up -d
Run Code Online (Sandbox Code Playgroud)
它对我有用。
当Dockerfile目录中存在当前用户无法访问的文件时,我收到此错误。docker因此无法将完整的上下文上传到守护程序并带来“无法在 http+docker://localunixsocket 处连接到 Docker 守护程序”消息。
小智 7
解决此问题的一种方法是首先docker通过运行以下命令将您的用户添加到组中
sudo usermod -aG docker $USER
Run Code Online (Sandbox Code Playgroud)
重要提示:请记住退出您的系统(不仅仅是您的终端)并重新登录以使其生效!
就我而言,这是因为 ubuntu 许可,
检查许可
docker info
Run Code Online (Sandbox Code Playgroud)
sudo chmod -R 777 /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)
dav*_*ark -3
我发现了这个,它似乎解决了我的问题。
我更改了 docker-compose-deps.yml 文件的内容,如链接中所示。然后我就跑了docker-compose -f docker-compose-deps.yml up -d。然后我把它改回来并且由于某种原因它起作用了。我不必继续我提供的链接中的步骤,但前两个步骤为我解决了问题。
| 归档时间: |
|
| 查看次数: |
73257 次 |
| 最近记录: |