码头工人的问题

ris*_*ant 32 docker

我正在尝试在 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?
Run Code Online (Sandbox Code Playgroud)

我不明白这是什么意思。

小智 38

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

sudo usermod -aG docker $USER
Run Code Online (Sandbox Code Playgroud)

您需要关闭会话并重新登录以使更改生效。


And*_*hen 31

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

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

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

  • +1。我只需要使用 `$ sudo service docker status`,因为我得到了 `$ sudo /etc/init.d/docker status * Docker 通过 upstart 进行管理,尝试使用 service docker status` (3认同)

MUR*_*LAT 15

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

更新:

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

看着

docker 守护进程绑定到 Unix 套接字而不是 TCP 端口。默认情况下,Unix 套接字由用户 root 拥有,其他用户可以使用 sudo 访问它。因此,docker daemon 始终以 root 用户身份运行。为避免在使用 docker 命令时必须使用 sudo,请创建一个名为 docker 的 Unix 组并向其中添加用户。当 docker 守护进程启动时,它使 Unix 套接字的所有权由 docker 组读/写。

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

  • 您应该解释为什么这会有所帮助。 (2认同)

Eva*_*van 10

尝试使用sudo docker images来检查<image>您的主机中是否有一个容器被调用。

runningdocker run <image>将启动一个<image>在你的主机中调用的容器,如果你的主机没有这个容器,那么 docker 会像你运行的方式一样从存储库中心自动拉一个名为 '' 的容器docker pull <image>。然后,如果它仍然找不到名为 '' 的图像,那么它将显示此错误消息。

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

sudo docker run hello-world

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

  • 如果问题是 OP 没有使用 sudo,那么错误消息将是“权限被拒绝”而不是“没有这样的文件或目录”。 (2认同)
  • 尝试授予权限`sudo usermod -a -G docker ec2-user` (2认同)