Docker with WSL2环境下Ubuntu虚拟机无法连接Docker主机问题问询
WSL Ubuntu 连接 Windows Docker 守护进程故障排查方案
报错原文:
Cannot connect to the Docker daemon at tcp://localhost:2375. Is the docker daemon running?
报错翻译:无法连接到 tcp://localhost:2375 处的 Docker 守护进程,请确认 Docker 后台服务是否处于运行状态
- 验证Windows端Docker运行状态与端口监听:
打开Windows PowerShell执行netstat -ano | findstr :2375,确认有进程监听2375端口。如果无监听记录,重启Docker Desktop后重新进入设置勾选「Expose daemon on tcp://localhost:2375 without TLS」选项,再次验证端口状态。 - 检查WSL内Docker环境变量配置:
在WSL Ubuntu终端执行echo $DOCKER_HOST,确认输出为tcp://localhost:2375。如果未配置,在shell对应的配置文件(bash对应~/.bashrc、zsh对应~/.zshrc)末尾添加export DOCKER_HOST=tcp://localhost:2375,保存后执行source 对应配置文件路径使配置生效。 - 验证WSL到2375端口的连通性:
在WSL内执行nc -zv localhost 2375,如果返回连接失败,说明WSL内localhost未映射到Windows主机。执行cat /etc/resolv.conf | grep nameserver | awk '{print $2}'获取Windows主机在WSL虚拟网卡中的IP,将DOCKER_HOST变量值修改为tcp://<获取到的IP>:2375后重试。 - 排查Windows防火墙拦截:
临时关闭Windows Defender防火墙测试连接是否恢复,如果恢复则添加入站规则允许2375端口的本地请求即可。 - 确认WSL集成配置生效:
进入Docker Desktop设置 -> Resources -> WSL Integration,确认你使用的Ubuntu发行版对应的开关已开启,配置后执行wsl --shutdown关闭WSL再重新打开终端生效。
内容的提问来源于stack exchange,提问作者Daniel Sobczak
相关产品推荐
相关产品推荐

