错误日志:Got permission denied while trying to connect to the Docker daemon socket
相关文章:
比如在运行 docker ps
时会出现题目所述报错,
解决方法一
使用 sudo
获取管理员权限,运行 docker 命令。
解决方法二
docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,
并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令。
bash
sudo groupadd docker #添加docker用户组
sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中
newgrp docker #更新用户组
docker ps #测试docker命令是否可以使用sudo正常使用
但这里有个问题,仅仅是当前终端更新了用户组,治标不治本。
比如想在 VSCode 内使用 Docker 还是会报错。
解决方法三
执行命令检查 Docker daemon socket 的权限:
bash
ls -l /var/run/docker.sock
输出应该显示 socket 由 "docker" 组拥有,并且对该组具有读写权限。
如果权限不正确,可以使用以下命令进行调整:
bash
sudo chmod 666 /var/run/docker.sock