安装Docker Desktop后Xubuntu 22.04中Docker命令无法使用的问题
解决Docker连接错误:Cannot connect to the Docker daemon at unix:///home/dario/.docker/desktop/docker.sock
问题原因
你遇到的错误是因为当前Docker命令默认连接的是Docker Desktop的守护进程socket,但要么Desktop未启动,要么你实际运行的是系统自带的Docker Engine(通过systemctl管理的服务),两者socket路径不匹配导致无法连接。
解决方案
1. 确认Docker Desktop是否在运行
如果需要使用Docker Desktop,直接启动桌面上的Docker Desktop应用,等待它完全加载(托盘图标显示就绪状态),再重新执行docker compose up或docker build命令。
2. 切换Docker上下文到系统Docker Engine
如果想使用通过systemctl管理的系统Docker Engine,执行以下命令:
- 查看当前Docker上下文:
docker context ls - 如果当前上下文是
desktop-linux,切换到默认的系统上下文:docker context use default
切换后,Docker命令会自动连接到系统的/var/run/docker.sock,而非Desktop的socket。
3. 检查并重置DOCKER_HOST环境变量
如果系统中设置了DOCKER_HOST变量指向Desktop的socket,会强制命令连接错误路径:
- 查看当前变量值:
echo $DOCKER_HOST - 如果输出为
unix:///home/dario/.docker/desktop/docker.sock,临时取消这个变量:unset DOCKER_HOST - 若要永久生效,编辑你的shell配置文件(如
~/.bashrc或~/.zshrc),删除设置DOCKER_HOST的行,然后重新加载配置:source ~/.bashrc
4. 清理冲突的Docker安装
如果你同时安装了Docker Desktop和系统Docker Engine,可能出现冲突:
- 若不需要Docker Desktop,直接卸载它,保留系统的Docker Engine即可。
- 若要使用Docker Desktop,先停止系统的Docker服务:
sudo systemctl stop docker sudo systemctl disable docker
然后启动Docker Desktop,确保上下文设置为desktop-linux。
内容的提问来源于stack exchange,提问作者Dario Costa
相关产品推荐
相关产品推荐

