【问题标题】:Permission denied while trying to connect to the Docker daemon socket尝试连接到 Docker 守护程序套接字时权限被拒绝
【发布时间】:2017-09-13 16:22:11
【问题描述】:

在 Ubuntu 16.04 LTS 上,每当尝试使用 docker login 命令时,都会显示以下警告消息:

docker login
Warning: failed to get default registry endpoint from daemon (Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.30/info: dial unix /var/run/docker.sock: connect: permission denied). Using system default: https://index.docker.io/v1/
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: csomethingr
Password: 
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.30/auth: dial unix /var/run/docker.sock: connect: permission denied

有什么办法吗?

【问题讨论】:

  • 看起来你不是 Ubuntu 中 Docker 组的成员。通过运行getent group docker 检查您是否属于该组。如果您不属于该组,请运行 sudo usermod -a -G docker <your_username> 添加自己
  • sudo docker login 或 @Serey 提到的将您的用户添加到 docker 组
  • 它正在工作。谢谢@Tarun Lalwani

标签: ubuntu docker unix-socket


【解决方案1】:

使用sudo docker login

或者正如@Serey 提到的,将您的用户添加到 docker 组

usermod -aG docker $USER

并与您的会话断开连接!

【讨论】:

  • 并记得在 usermod 之后注销/登录到您的 shell 以使其生效。
【解决方案2】:

一旦我尝试了该解决方案。最初它没有工作,但在整个系统重新启动后它工作了。

【讨论】:

  • 此处相同,但重启有帮助。
【解决方案3】:

您必须按照其他帖子的建议将用户添加到 docker 组

usermod -aG docker $USER

但是,此更改不会影响您当前的终端会话。如果您不想登录/注销,可以使用

newgrp - docker

更改会影响您当前的终端会话。

【讨论】:

    【解决方案4】:

    要在用户模式下使用 docker,请使用以下命令: sudo chmod 666 /var/run/docker.sock

    【讨论】:

      猜你喜欢
      • 2019-06-28
      • 1970-01-01
      • 2018-05-30
      • 1970-01-01
      • 2018-01-29
      • 1970-01-01
      • 2020-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多