安装meterspherev3.6.7出现sending request to http://127.0.0.1:8081; recoverable I/O exception

由于服务器资源限制,安装时kafka、minio、redis、mysql基础服务使用已有的服务

修改docker-compose-metersphere.yml、docker-compose-result-hub.yml、docker-compose-task-runner.yml参数化字段

主要需要修改:mysql信息、kafka信息、redis信息、

公共参数化部分 ${MS_IMAGE_PREFIX}、${MS_BASE}、${MS_IMAGE_TAG}、${MS_MEM_LIMIT}可定义在放款变量中。

直接通过docker-compose -f docker-compose-base.yml -f docker-compose-metersphere.yml up -d 命令启动服务

安装meterspherev3.6.7按后出现如下错误:

2026-04-02 12:55:24,584 INFO 5.http.impl.classic.HttpRequestRetryExec: 155 - ex-0000000002 recoverable I/O exception (org.apache.hc.client5.http.HttpHostConnectException) caught when sending request to http://127.0.0.1:8081;request will be automatically re-executed in 0 MILLISECONDS (exec count 2) 2026-04-02 12:55:28,588 INFO 5.http.impl.classic.HttpRequestRetryExec: 155 - ex-0000000002 recoverable I/O exception (org.apache.hc.client5.http.HttpHostConnectException) caught when sending request to http://127.0.0.1:8081;request will be automatically re-executed in 0 MILLISECONDS (exec count 3) 2026-04-02 12:55:34,592 INFO 5.http.impl.classic.HttpRequestRetryExec: 155 - ex-0000000002 recoverable I/O exception (org.apache.hc.client5.http.HttpHostConnectException) caught when sending request to http://127.0.0.1:8081;request will be automatically re-executed in 0 MILLISECONDS (exec count 4)

由于安装时8081端口被占用,把端口更新为了9081

根据日志和MeterSphere的架构分析,核心问题是Task-Runner容器无法连接到MeterSphere主服务。日志中反复重试的127.0.0.1:8081正是MeterSphere主服务的默认地址和端口

根本原因:容器网络隔离

Task-Runner和MeterSphere主服务是分开运行的容器。在容器内,127.0.0.1(localhost)指向的是容器自身,而不是宿主机。因此,Task-Runner容器尝试连接127.0.0.1:8081时,是在自己的容器内找MeterSphere主服务,自然找不到。

解决方案:修改资源池配置

1. 确认MeterSphere主服务地址

首先确认MeterSphere主服务的实际访问地址:

  • 如果是浏览器访问MeterSphere的地址,例如http://192.168.1.100:8081

  • 默认端口是8081

2. 修改资源池配置

在MeterSphere界面中修改配置:

  1. 登录MeterSphere,进入系统设置 → 系统 → 资源池

  2. 找到对应的资源池(如"默认资源池"),点击编辑

  3. 在工作节点URL或内网URL字段中:

    • 127.0.0.1:8081改为MeterSphere主服务的实际IP地址

    • 例如:http://192.168.1.100:9081(使用宿主机的实际IP,不是localhost)

  4. 保存配置