尝试连接到Docker守护程序套接字时权限被拒绝

Cha*_*dru 9 ubuntu unix-socket docker

在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
Run Code Online (Sandbox Code Playgroud)

有解决方案吗

Tar*_*ani 20

使用 sudo docker login

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

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

从你的会话中断开!

  • 并记得在usermod之后注销/登录你的shell以使其生效. (5认同)

小智 11

要在用户模式下使用 docker,请使用以下命令:

sudo chmod 666 /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)


小智 6

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

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

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

newgrp - docker
Run Code Online (Sandbox Code Playgroud)

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