Docker守护进程已运行但执行命令提示连接失败的技术求助
解决Docker命令连接错误的方法
你的问题出在Docker命令默认指向了Docker Desktop的Unix套接字路径,但实际运行的是系统级Docker daemon,两者路径不匹配导致连接失败。系统级Docker daemon默认使用的套接字是/var/run/docker.sock,而你的环境变量DOCKER_HOST被设置成了unix:///home/alexe/.docker/desktop/docker.sock。
以下是具体解决步骤:
先验证环境变量问题:
执行命令echo $DOCKER_HOST,如果输出为unix:///home/alexe/.docker/desktop/docker.sock,确认是环境变量导致的问题。临时修复(当前终端会话生效):
执行unset DOCKER_HOST,之后再运行docker ps即可正常连接系统Docker daemon。永久修复(重启系统/终端后依然生效):
- 编辑你的shell配置文件,比如bash用户编辑
~/.bashrc,zsh用户编辑~/.zshrc - 在文件末尾添加一行:
unset DOCKER_HOST - 保存文件后,执行
source ~/.bashrc(对应你的shell配置文件)让修改立即生效。
- 编辑你的shell配置文件,比如bash用户编辑
如果不想修改环境变量,也可以在每次执行Docker命令时手动指定套接字路径:docker -H unix:///var/run/docker.sock ps
内容的提问来源于stack exchange,提问作者Alexei
相关产品推荐
相关产品推荐

