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

测试ShinyProxy-Demo时容器启动失败求助

解决方案:ShinyProxy无法连接Docker API(WSL2模式)

问题定位

从错误日志可明确核心问题:

Connect to localhost:2375 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: no further information

ShinyProxy无法连接Docker API端口,根源是WSL2模式下Docker Desktop的配置逻辑和Hyper-V不同,手动修改Windows侧的daemon.json不生效,甚至会破坏Docker正常启动。

分步解决

  • 第一步:修正Docker Desktop的API暴露设置

    1. 打开Docker Desktop,进入设置→通用,勾选在 tcp://localhost:2375 上暴露守护程序,无需 TLS
    2. 进入设置→资源→WSL 集成,确保正在使用的WSL发行版(如Ubuntu)处于启用状态
    3. 删除手动添加的C:\ProgramData\Docker\config\daemon.json文件,WSL2模式下Docker守护进程配置由Docker Desktop统一管理,手动修改该文件会引发配置冲突
  • 第二步:配置ShinyProxy的application.yml
    根据ShinyProxy的运行位置调整Docker地址:

    • 若ShinyProxy在Windows主机上运行,配置如下:
      proxy:
        docker:
          url: tcp://localhost:2375
          port-range-start: 20000
      
    • 若ShinyProxy在WSL2内部运行,建议使用Unix套接字(稳定性更高):
      proxy:
        docker:
          url: unix:///var/run/docker.sock
          port-range-start: 20000
      
  • 第三步:验证Docker API连通性

    • Windows终端执行:curl http://localhost:2375/version,返回JSON格式的版本信息则说明API正常
    • WSL终端执行:curl --unix-socket /var/run/docker.sock http://localhost/version,返回版本信息即为正常
  • 第四步:重启服务
    重启Docker Desktop和ShinyProxy,再尝试打开应用

额外说明

单独运行docker run命令正常,是因为该命令直接调用Docker Desktop客户端(自动适配WSL2环境),而ShinyProxy需通过API端口连接,必须确保API端口正确暴露且无配置冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 23:44:50