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

Ubuntu 尝试连接到Docker守护程序套接字时权限被拒绝,ubuntu,docker,unix-socket,Ubuntu,Docker,Unix Socket,在Ubuntu 16.04 LTS上,每当尝试使用docker登录命令时,将显示以下消息: 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

在Ubuntu 16.04 LTS上,每当尝试使用docker登录命令时,将显示以下消息:

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

有什么解决方案吗?

使用
sudo docker登录

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

usermod -aG docker $USER

从你的会议中断

一旦我尝试了这个解决方案。最初它不起作用,但在整个系统重新启动后它就起作用了。

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

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

newgrp-docker

要使更改影响当前终端会话。

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

看起来你不是Ubuntu中docker小组的成员。通过运行
getent group docker
,检查您是否属于该组。如果您不属于该组,请通过运行
sudo usermod-a-G docker
sudo docker login
或@Serey提到的将您的用户添加到docker groupIt;他在工作。谢谢@Tarun Lalwani,记住在usermod之后注销/登录到您的shell,以使其生效。此处相同,但重新启动有帮助。