Ubuntu 22.04下非root执行docker ps -a报错,root权限可正常运行
解决Ubuntu 22.04下非root用户无法执行Docker命令的问题
问题原因
非root用户没有权限访问Docker守护进程的Unix套接字(/home/ali/.docker/desktop/docker.sock),而root用户默认拥有所有系统权限,因此可以正常执行命令。
解决方案
1. 将用户加入docker用户组
这是最规范的长期解决方式,避免每次依赖root权限:
- 执行命令将当前用户添加到docker组:
sudo usermod -aG docker $USER - 必须注销当前用户并重新登录,让组权限变更生效
- 验证:重新登录后执行
groups命令,输出列表中应包含docker组
2. 修复Docker套接字的权限配置
如果加入组后仍报错,检查并调整套接字的权限:
- 查看套接字的权限详情:
ls -l /home/ali/.docker/desktop/docker.sock - 确保docker组拥有该套接字的访问权限:
sudo chown root:docker /home/ali/.docker/desktop/docker.sock - (临时应急方案,不推荐长期使用)开放全局读写权限:
sudo chmod 666 /home/ali/.docker/desktop/docker.sock
3. 确认Docker守护进程状态
- 检查Docker服务是否正常运行:
sudo systemctl status docker - 若服务未启动,执行命令启动:
sudo systemctl start docker - 如果使用的是Docker Desktop for Linux,尝试重启Desktop应用,确保守护进程正常运行
内容的提问来源于stack exchange,提问作者Mohammad Ali
相关产品推荐
相关产品推荐

