docker报错,ERROR: Got permission denied while trying to connect to the Docker daemon socket

发布时间 2023-04-21 16:40:23作者: 槑孒

使用docker,避免使用sudo命令

1.本地环境是Ubuntu18.04,docker version 19.03.12
以普通用户启动docker时,会报一下错误

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.26/images/json: dial unix /var/run/docker.sock: connect: permission denied

总之就是无法正常启动,在命令前,加sudo就能正常使用,很是苦恼,如何才能不用每个命令都加sudo,

Docker守护程序绑定到Unix套接字而不是TCP端口。默认情况下,该用户拥有Unix套接字root,其他用户只能使用来访问它sudo。Docker守护程序始终以root用户身份运行。如果你不想在前言docker与命令sudo,创建一个名为UNIX组docker和用户添加到它。当Docker守护程序启动时,它将创建一个可由该docker组成员访问的Unix套接字。

2.以上是官方的解释,就是当前用户不在docker组
3.解决办法也很简单,创建一个docker组,将当前用户添加进去就行
4.接下来,执行命令即可

sudo cat /etc/group #查看当前系统有哪些组,里面有docker组,验证docker是否有当前用户

sudo groupadd docker #添加docker用户组

sudo gpasswd -a $XXX docker #检测当前用户是否已经在docker用户组中,其中XXX为用户名。

sudo gpasswd -a $USER docker #将当前用户添加至docker用户组

newgrp docker #更新docker用户组

sudo service docker restart #重启docker服务

newgrp - docker #切换当前会话到新group或重启会话

需要注意的是,$USER 需要替换为自己机器上的用户名

linux中docker报错:ERROR: Got permission denied while trying to connect to the Docker daemon socket。
docker报错,ERROR: Got permission denied while trying to connect to the Docker daemon socket