非sudo用户无法执行docker命令问题求助
问题原因
你遇到的问题是因为之前安装Docker Desktop时留下的上下文配置残留:
- 非sudo用户的Docker客户端默认使用
desktop-linux上下文,该上下文指向Docker Desktop专用的socket路径unix:///home/cttc/.docker/desktop/docker.sock,但你已经卸载了Docker Desktop,这个socket不存在,所以无法连接daemon。 - 而sudo用户执行时会读取root的Docker配置,默认使用
default上下文,指向系统Docker Engine的标准socket/var/run/docker.sock,因此能正常连接。
解决步骤
- 查看当前Docker上下文列表,确认活跃上下文:
你会看到docker context lsdesktop-linux处于ACTIVE状态。 - 切换回默认上下文:
docker context use default - 验证修复效果:
执行docker version,此时应该能正常显示Client和Server的完整信息。 - (可选)如果不再需要
desktop-linux上下文,可直接删除:docker context rm desktop-linux
内容的提问来源于stack exchange,提问作者Waleed Akbar
相关产品推荐
相关产品推荐

