WSL2模式下Windows Docker Host端口2376未监听,Jenkins连接失败求助
解决WSL2模式Docker Desktop与本地Jenkins连接失败问题
核心原因
WSL2采用独立虚拟网络栈,默认Docker Desktop仅在WSL内部监听Docker daemon端口,未将端口映射到Windows主机,导致Windows上的Jenkins无法通过localhost访问。
解决方案步骤
1. 开启Docker Desktop的TCP监听
- 打开Docker Desktop,进入Settings > General,勾选
Expose daemon on tcp://localhost:2375 without TLS(本地测试可用,生产环境建议配置TLS证书)。 - 切换到Resources > WSL Integration,确保你正在使用的WSL发行版(如Ubuntu)处于启用状态。
- 重启Docker Desktop,执行
netstat -ano | findstr :2375验证端口是否已监听。
2. 配置Jenkins的Docker连接
- 进入Jenkins全局工具配置,找到Docker配置项,将Docker Host URI设置为
tcp://localhost:2375。 - 若仍连接失败,替换为WSL2的内部IP:在WSL终端执行
hostname -I获取IP,将URI改为tcp://<你的WSL_IP>:2375。
3. 检查Windows防火墙规则
- 确保Windows防火墙允许2375端口的入站连接,可临时关闭防火墙测试连接(测试完成后重新开启)。
4. 手动配置端口转发(可选)
如果上述步骤无效,在Windows管理员命令提示符中执行端口转发命令:
netsh interface portproxy add v4tov4 listenport=2375 listenaddress=0.0.0.0 connectport=2375 connectaddress=<你的WSL_IP>
注意:WSL2重启后IP可能变化,可编写脚本自动更新转发规则。
内容的提问来源于stack exchange,提问作者bpeikes
相关产品推荐
相关产品推荐

