如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像用于在Amazon EC2容器服务(ECS)上进行分布式测试,包含两个核心镜像:
smithmicro/jmeter:部署在ECS中的JMeter软件本体smithmicro/lucy:可在企业防火墙后运行的编排镜像,负责管理AWS资源警告:使用本镜像会产生AWS计算和存储费用。尽管测试完成后会终止所有实例和卷,但可能存在bug导致资源持续运行,请查看问题列表了解详情。
smithmicro/lucy镜像可通过环境变量配置运行,需满足以下前提条件:
keys子目录plans/demo.jmx以运行特定测试ecsInstanceRole角色(ECS首次运行时自动创建,详情见官方文档)若未创建VPC,可使用附带的aws-setup.sh脚本创建VPC、子网和所需安全组。
bashdocker run -v <jmx文件路径>:/plans -v <pem文件路径>:/keys -v <日志路径>:/logs \ --env AWS_ACCESS_KEY_ID=<密钥ID> \ --env AWS_SECRET_ACCESS_KEY=<秘密密钥> \ --env AWS_DEFAULT_REGION=<区域> \ --env SECURITY_GROUP=<VPC内的安全组> \ --env SUBNET_ID=<VPC内的子网ID(逗号分隔)> \ --env KEY_NAME=<密钥对名称(不含.pem扩展名)> \ --env MINION_COUNT=<测试实例数量> \ smithmicro/lucy /plans/demo.jmx
假设jmeter-key.pem位于keys子目录:
bashdocker run -v $PWD/plans:/plans -v $PWD/keys:/keys -v $PWD/logs:/logs \ --env AWS_ACCESS_KEY_ID=ABCDEFGHIJKLMNOPQRST \ --env AWS_SECRET_ACCESS_KEY=abcdefghijklmnopqrstuvwxyz0123456789ABCDEF \ --env AWS_DEFAULT_REGION=us-east-1 \ --env SECURITY_GROUP=sg-12345678 \ --env SUBNET_ID=subnet-12345678,subnet-87654321 \ --env KEY_NAME=jmeter-key \ --env MINION_COUNT=5 \ smithmicro/lucy /plans/demo.jmx
本镜像将JMeter的主从架构替换为Gru(管理ECS内的Minion)、Minion(执行测试任务)和Lucy(编排整个流程)三个角色:
+--------------------------------------+ | EC2 | | +--------------------------------+ | | | ECS | | | | +--------+ | | | | +-------+ | +--------+ | | +--------+ | | | |---->| | +--------+ ---------->| | | | | Gru |<----| | | | ---------->| Target | | | | | +-| | Minion | ---------->| | | | +-------+ +-| | | | +--------+ | | ^ | +--------+ | | | +-----|-|------------------------+ | +--------|-|---------------------------+ | | .jmx | | .log/.jtl | v +----------+ | | | Lucy | | | +----------+
Lucy通过lucy.sh脚本执行以下步骤:
Lucy容器使用以下3个卷:
/plans:映射JMX测试文件/keys:映射PEM密钥文件/logs:映射输出日志(jmeter.log)和结果文件(results.jtl)支持以下必填和可选环境变量:
| 变量名 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| AWS_DEFAULT_REGION | 是 | None | AWS区域(如us-east-1) |
| AWS_ACCESS_KEY_ID | 是 | None | AWS访问密钥ID |
| AWS_SECRET_ACCESS_KEY | 是 | None | AWS秘密访问密钥 |
| INPUT_JMX | 是 | None | JMeter测试文件路径(可作为docker run的第一个命令行参数) |
| KEY_NAME | 是 | None | AWS密钥对名称(不含.pem扩展名) |
| SECURITY_GROUP | 是 | None →安全组ID(允许22、1099、50000、51000/TCP和4445/UDP) | |
| SUBNET_ID | 是 | None | VPC内的子网ID(逗号分隔) |
| VPC_ID | 否 | 从SUBNET_ID自动推导 | VPC ID |
| JMETER_VERSION | 否 | latest | smithmicro/jmeter镜像标签(见https://hub.docker.com/r/smithmicro/jmeter/tags/%EF%BC%89 |
| INSTANCE_TYPE | 否 | t2.micro | 实例类型(如t2.small可加倍内存) |
| MEM_LIMIT | 否 | 950m | 内存限制(t2.small建议设为1995m) |
| MINION_COUNT | 否 | 2 | 测试实例数量 |
| PEM_PATH | 否 | /keys | 密钥文件路径(需与卷映射一致) |
| CLUSTER_NAME | 否 | JMeter | AWS集群名称 |
| GRU_PRIVATE_IP | 否 | None | 设为true可在AWS内部运行Lucy(详情见https://github.com/smithmicro/jmeter-ecs/issues/8%EF%BC%89 |
| JMETER_FLAGS | 否 | None | JMeter自定义命令行参数(如-X让Minion测试后退出) |
| RETAIN_CLUSTER | 否 | None | 设为true可复用集群(注意:会产生持续费用) |
| CUSTOM_PLUGIN_URL | 否 | None | 自定义插件URL(将复制到$JMETER_HOME/lib/ext) |
| COPY_DIR | 否 | None | 设为true可复制JMX所在目录到所有Minion/Gru(文件位于/plans) |
《神偷奶爸2》
!Minions
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。





来自真实用户的反馈,见证轩辕镜像的优质服务