docker.sock 和 docker.socket 无操作权限的修复

发布时间 2023-04-23 17:09:31作者: 天海沙

 

问题: 第三软件jenkins等,甚至docker本身都有可能报如下无权限操作的错误:
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.soc k/v1.40/containers/create: dial unix /var/run/docker.sock: connect: permission denied.


解决方法有2种: 建议第1种,不要用第2种!

# 1.查看docker.socker本体的权限,正确应该是root:docker,不应该是root:root,如下

ll /lib/systemd/system/docker.socket
返回: -rw-r--r--. 1 root root 295 Feb 10 03:48 /lib/systemd/system/docker.socket
chgrp docker /lib/systemd/system/docker.socket #修改属组为docker, chgrp和chown的区别一个只改属组一个属主属组全能改

# 2.修改硬链接docker.sock文件的权限为666,有可能重启后需要再次赋权限,如下:

ll /var/run/docker.sock
chmod 666 /var/run/docker.sock
ll /var/run/docker.sock
返回: srw-rw-rw-. 1 root docker 0 Nov 20 11:59 /var/run/docker.sock