当前位置: 首页>>技术问答>>正文


码头工人的问题

,

问题描述

我想在ubuntu 15.04中学习”Docker”。

当我使用像“docker run image”这样的docker发出任何命令时,会收到以下错误:

FATA[0000] Post http:///var/run/docker.sock/v1.17/containers/create: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?

我不明白这是什么意思。

最佳解决思路

出现此错误的原因有两个:

  1. Docker守护程序未运行。您可以使用sudo /etc/init.d/docker status进行检查。

  2. Docker守护程序正在运行,但配置为不侦听/var/run/docker.sock。如果在DOCKER_OPTS中指定了任何-H选项,则可以签入/etc /default /docker。

次佳解决思路

安装Docker后,系统会提示您将用户添加到docker组。只需运行显示的命令:

sudo usermod -aG docker $USER

您需要关闭会话并再次登录才能使更改生效。

第三种解决思路

安装docker后尝试重新启动操作系统以应用组权限(如果您的用户已加入docker组)。

更新:

当Docker在ubuntu 14.04上安装时,安装程​​序会推荐用户添加到Docker组的内容以访问Docker Service。

看着

The docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can access it with sudo. For this reason, docker daemon always runs as the root user. To avoid having to use sudo when you use the docker command, create a Unix group called docker and add users to it. When the docker daemon starts, it makes the ownership of the Unix socket read/writable by the docker group.

来源:https://docs.docker.com/installation/ubuntulinux/#create-a-docker-group

第四种思路

尝试使用sudo docker images检查主机中是否有名为<image>的容器。

运行docker run <image>将在主机中启动一个名为<image>的容器,如果您的主机没有此容器,则docker将自动从存储库中心拉出一个名为”的容器,就像运行docker pull <image>一样。然后,如果它仍然找不到名为”的图像,那么它将显示此错误消息。

您可以尝试替换为hello-world以查看docker是否在您的计算机上运行。

sudo docker run hello-world

此外,您应该检查是否应该使用sudo

第五种思路

我发现这篇文章有用:https://docs.docker.com/articles/systemd/;我在多个环境中运行它并且工作,希望它也可以帮助你

第六种思路

在尝试拉图像时我收到了类似的消息。我刚做了sudo su然后能够成功拉出图像。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2855.html,未经允许,请勿转载。