
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!pulls !stars
本镜像旨在提供:
由于Docker Hub上多数同类镜像较旧(1-2年未更新),因此创建此镜像。它基于Alpine系统的Python镜像构建,安装locustio包及必要依赖,体积约130MB。
Git项目按多版本管理设计,标签系统用于区分不同版本组件。
文件夹结构如下:
. ├── locust版本a │ ├── Python版本x │ │ ├── OS版本1 │ │ └── OS版本2 │ └── Python版本y │ ├── OS版本1 │ └── OS版本2 ├── locust版本b ...
其中:
locust版本:具体Locust版本(如0.10.0)Python版本:具体Python版本(如3.6)OS版本:具体操作系统版本(如alpine3.9)标签反映目录结构,包含所有组件信息:
例如,Locust 0.10.0 + Python3.6 + Alpine3.9的镜像路径为:
\0.10.0\python3.6\alpine3.9
对应的镜像标签为:grubykarol/locust:0.10.0-python3.6-alpine3.9
Docker Hub地址:https://hub.docker.com/r/grubykarol/locust
镜像构建时不包含Locust脚本,需在运行时通过挂载卷(到/locust路径)提供脚本,支持同一镜像用于不同场景,无需基于此镜像二次构建仅添加脚本。
拉取最新稳定版:
bashdocker pull grubykarol/locust
或指定Locust、Python、OS版本:
bashdocker pull grubykarol/locust:1.2.3-python3.9-alpine3.12
镜像通过环境变量配置行为:
| 变量名 | 描述 | 默认值 | 示例 |
|---|---|---|---|
| LOCUST_FILE | 设置--locustfile选项 | locustfile.py | |
| ***ED_HOST | 待测试URL(必填) | - | [***] |
| LOCUST_MODE | 运行模式:standalone(单机)、master(主节点)、worker(工作节点) | standalone | master |
| LOCUST_MASTER | 主节点IP/主机名(worker模式必填) | - | 127.0.0.1 |
| LOCUST_MASTER_BIND_PORT | 主从通信端口(分布式模式) 主节点:绑定端口;工作节点:连接主节点的端口 | 5557 | 6666 |
| LOCUST_OPTS | 额外Locust CLI参数 | - | "-c 10 -r 10" |
单机模式
基本运行($MY_SCRIPTS路径下含locustfile.py):
bashdocker run --rm --name standalone --hostname standalone -e ATTACKED_HOST=http://standalone:8089 -p 8089:8089 -d -v $MY_SCRIPTS:/locust grubykarol/locust
无UI模式运行:
bashdocker run --rm --name standalone --hostname standalone -e ATTACKED_HOST=http://example.com -e "LOCUST_OPTS=--no-web" -d -v $MY_SCRIPTS:/locust grubykarol/locust
主从模式
启动主节点:
bashdocker run --name master --hostname master \ -p 8089:8089 -p 5557:5557 -p 5558:5558 \ -v $MY_SCRIPTS:/locust \ -e ATTACKED_HOST=http://master:8089 \ -e LOCUST_MODE=master \ --rm -d grubykarol/locust
启动工作节点:
bashdocker run --name worker0 \ --link master --env NO_PROXY=master \ -v $MY_SCRIPTS:/locust \ -e ATTACKED_HOST=http://master:8089 \ -e LOCUST_MODE=worker \ -e LOCUST_MASTER=master \ --rm -d grubykarol/locust docker run --name worker1 \ --link master --env NO_PROXY=master \ -v $MY_SCRIPTS:/locust \ -e ATTACKED_HOST=http://master:8089 \ -e LOCUST_MODE=worker \ -e LOCUST_MASTER=master \ --rm -d grubykarol/locust
Windows PowerShell版本
基本运行:
powershelldocker run --rm --name standalone ` -e ATTACKED_HOST=http://localhost:8089 ` -v c:\locust-scripts:/locust ` -p 8089:8089 -d ` grubykarol/locust
启动主节点:
powershelldocker run --name master --hostname master ` -p 8089:8089 -p 5557:5557 -p 5558:5558 ` -v c:\locust-scripts:/locust ` -e ATTACKED_HOST='http://master:8089' ` -e LOCUST_MODE=master ` --rm -d grubykarol/locust
启动工作节点:
powershelldocker run --name worker0 ` --link master --env NO_PROXY=master ` -v c:\locust-scripts:/locust ` -e ATTACKED_HOST=http://master:8089 ` -e LOCUST_MODE=worker ` -e LOCUST_MASTER=master ` --rm -d grubykarol/locust
更多示例位于examples目录,包含单机/分布式压测的docker-compose文件,详见该目录说明。
进入目标版本目录(参考仓库结构),执行构建:
bashdocker build -t grubykarol/locust:1.2.3-python3.9-alpine3.12 .
若在代理环境下(已设置HTTP(S)_PROXY变量):
bashdocker build --build-arg HTTP_PROXY=$http_proxy --build-arg HTTPS_PROXY=$https_proxy -t grubykarol/locust:1.2.3-python3.9-alpine3.12 .
开发用脚本build-all.sh可批量构建所有或指定Locust版本的镜像(脚本较简单,仅供开发使用)。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务