运行Docker ps命令,报错:/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
这个错误通常是由于当前用户没有足够的权限来访问 Docker 服务,在 Docker 默认情况下只有 root 用户或者在 docker 组中的用户才有权限访问 Docker 服务。出现这个错误,您可以尝试以下解决方案:
- 查看当前用户是否在 docker 组中,可以使用以下命令查看:
groups
如果当前用户不在 docker 组中,可以使用以下命令将用户添加到 docker 组中(注意将 username 替换为实际用户名):
sudo usermod -aG docker username
2.重新登录系统,退出当前会话并重新登录,这样新的用户组会话才会生效
3.执行 Docker 命令时加上 sudo,例如:
sudo docker ps
这样也可以避免当前用户无法访问 Docker 服务的权限问题
4.如果以上方法都无法解决问题,可以尝试更改 Docker socket 的权限,使用以下命令:
sudo chmod 666 /var/run/docker.sock
需要注意的是,这种方法虽然可以解决权限问题,但是会带来一定的安全风险,建议仅在调试和测试过程中使用,生产环境中尽量不要使用。