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

如何为多容器Docker应用配置远程HTTP端点以开展性能测试

多容器Docker应用配置HTTP端点操作指南

前置检查

  • 先确认你本地的Docker Compose配置完整,你用到的BankCQRS Demo本身已自带docker-compose.yml,先本地执行docker compose up -d确认所有服务(命令端、查询端、数据库等)均可正常启动,无端口冲突。
  • 远端服务器提前安装好Docker和Docker Compose,提前在服务器安全组/防火墙配置中开放你需要对外暴露端口的入站规则。

通用配置步骤(适用于所有多容器Docker应用)

1. 调整容器网络与端口映射配置

多容器应用默认会使用Docker Compose创建的内部网桥完成服务间通信,不需要把所有服务的端口都暴露到公网,仅需暴露对外提供HTTP服务的入口容器端口即可。

  • 编辑docker-compose.yml文件,找到作为HTTP入口的服务(本次Demo中是BankCQRSPost和BankCQRSGet两个服务,你可以按需选择暴露单个服务,也可以两个都暴露,或者新增反向代理做统一入口)
  • 端口映射格式为宿主机端口:容器内服务端口,比如要把Demo的查询服务对外暴露在服务器8080端口,就给BankCQRSGet服务的ports配置项添加- "8080:80",要把命令服务暴露在8081端口就添加- "8081:80"
  • 注意:不要把数据库、缓存这类内部依赖服务的端口映射到宿主机公网,避免出现安全风险

2. (可选)配置反向代理统一入口

如果你的应用有多个HTTP服务需要对外暴露,建议新增Nginx或者Traefik作为统一入口,不需要开放多个公网端口:

  • 给docker-compose.yml新增Nginx服务,参考配置:
services:
  nginx:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    depends_on:
      - BankCQRSGet
      - BankCQRSPost
  • 编写nginx.conf把不同路径转发到对应内部服务即可,比如把/api/query转发到BankCQRSGet:80,把/api/command转发到BankCQRSPost:80,这种配置下所有业务服务都不需要单独映射宿主机端口,仅Nginx暴露80端口即可。

3. 部署到远端服务器验证

  • 把整个项目代码上传到远端服务器,进入项目根目录执行docker compose up -d --build启动所有服务
  • 启动完成后执行curl http://localhost:你配置的宿主机端口/健康检查路径验证服务器本地可以正常访问,本次Demo可以直接调用对应增查接口验证功能正常
  • 本地浏览器访问http://你的服务器公网IP:配置的端口验证HTTP端点可以正常公网访问,功能验证通过即可开始性能测试。

4. 性能测试注意事项

  • 测试前建议关闭Docker的日志debug模式,避免不必要的性能损耗
  • 测试过程中可以用docker stats命令实时查看各个容器的CPU、内存占用情况
  • 如果要做压测,建议把压测工具和应用部署在不同的服务器,避免资源抢占影响测试结果准确性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:48:05