You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下Rancher Desktop用Maven构建Java服务时localhost:2375连接被拒

解决Rancher Desktop在Windows下无法连接localhost:2375的问题

核心原因

Rancher Desktop默认不会像Docker Desktop那样直接暴露2375端口,且Windows下容器运行时的socket路径与Mac不同,需要手动调整连接配置或环境变量。

具体解决步骤

1. 调整Rancher Desktop基础设置

打开Rancher Desktop设置界面:

  • 切换到Docker Engine运行时(若之前用containerd,需切换,因为Java服务依赖的Docker API不兼容containerd)。
  • 在「Features in Development」中勾选Enable Docker Socket Sharing,这会在Windows系统创建//./pipe/docker_engine命名管道,是Windows下Docker客户端默认的连接路径。

2. 配置Java服务的Docker连接参数

你的Java服务默认尝试连接localhost:2375,需修改连接方式:

  • 方法一:设置环境变量
    命令提示符下执行:
    set DOCKER_HOST=npipe:////./pipe/docker_engine
    
    PowerShell下执行:
    $env:DOCKER_HOST = "npipe:////./pipe/docker_engine"
    
    设置完成后再运行Maven构建或Java服务。
  • 方法二:修改代码/配置文件
    找到Docker客户端初始化代码,指定连接地址为Windows命名管道:
    DockerClient docker = DefaultDockerClient.builder()
        .uri("npipe:////./pipe/docker_engine")
        .build();
    

3. 验证连接有效性

打开命令行执行docker ps,若能正常返回容器列表,说明Rancher Desktop的Docker环境已就绪,此时再运行Maven构建即可解决连接被拒问题。

4. 替代方案:手动映射2375端口(仅限测试环境)

若必须使用2375端口连接,可通过socat工具将Windows命名管道映射到2375端口:

  1. 下载Windows版本的socat工具。
  2. 运行命令:
    socat TCP-LISTEN:2375,reuseaddr,fork UNIX-CONNECT://./pipe/docker_engine
    
    注意:此方式会将Docker API暴露在公网可访问端口,存在安全风险,仅适合测试场景。

内容的提问来源于stack exchange,提问作者ashra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 10:45:02