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

Docker Compose网络中Locust无法访问Spring Boot应用端点求助

解决Locust无法访问Spring Boot端点的方案
  • 先验证容器内网络与应用状态

    1. 进入Locust容器,手动测试连通性:
      # 进入locust容器
      docker exec -it <locust-container-name> bash
      # 测试能否解析app主机并访问端口
      ping app
      curl http://app:8080/api/dashboard/colas-value
      
      根据返回结果定位问题:
      • 连接拒绝:说明Spring Boot应用未启动或端口监听错误
      • 404:说明请求路径错误或Spring Boot未注册该端点
      • 正常返回:说明Locust测试脚本的路径配置有误
  • 修正应用启动就绪判断逻辑
    depends_on仅保证容器启动顺序,不等待Spring Boot应用完全就绪。给app服务添加健康检查,确保Locust在应用就绪后再启动:

    services:
      app:
        ...
        healthcheck:
          test: ["CMD", "curl", "-f", "http://localhost:8080/api/dashboard/colas-value"]
          interval: 10s
          timeout: 5s
          retries: 5
      locust:
        ...
        depends_on:
          app:
            condition: service_healthy
    
  • 检查Spring Boot核心配置

    1. 确认server.port为8080,无环境变量覆盖:查看项目的application.properties或application.yml
    2. 检查是否设置了server.servlet.context-path,如果有,需在LOCUST_HOST或请求路径中补充该上下文路径
    3. 进入app容器,本地测试端点是否可用:
      docker exec -it <app-container-name> bash
      curl http://localhost:8080/api/dashboard/colas-value
      
  • 验证Locust测试脚本路径
    确保Locust任务中的请求路径为完整相对路径:

    from locust import HttpUser, task
    
    class WebsiteUser(HttpUser):
        @task
        def get_colas_value(self):
            self.client.get("/api/dashboard/colas-value")  # 路径需与端点完全匹配
    

    注意路径开头的斜杠,以及是否遗漏了Spring Boot的上下文路径(如果有设置)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 04:55:16