
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Mmock是一款面向开发者的测试和快速原型设计工具,作为轻量级HTTP模拟服务器,它允许开发者通过JSON或YAML文件定义模拟规则,配置应用端点使用模拟服务,并在Web界面中 inspect 请求数据。Mmock采用Go语言构建,无需安装即可在多平台运行,适用于API测试、服务原型设计、状态模拟等场景。
/hello/:name)*hello*)拉取镜像
bashdocker image pull jordimartin/mmock
运行容器
bashdocker run -v YOUR_ABS_PATH:/config -p 8082:8082 -p 8083:8083 jordimartin/mmock
-v YOUR_ABS_PATH:/config:挂载本地目录到容器内的/config,用于存放模拟规则文件(JSON/YAML)-p 8082:8082:映射Web控制台端口-p 8083:8083:映射模拟服务器端口模拟规则通过JSON或YAML文件定义,存放于挂载的/config目录中。
JSON格式示例
json{ "request": { "method": "GET", "path": "/hello/*" }, "response": { "statusCode": 200, "headers": { "Content-Type": ["application/json"] }, "body": "{\"hello\": \"{{request.query.name}}, my name is {{fake.FirstName}}\"}" } }
YAML格式示例(支持单个文件多个请求)
yaml--- request: method: GET path: "/hello/*" response: statusCode: 200 headers: Content-Type: - application/json body: '{"hello": "{{request.query.name}}, my name is {{fake.FirstName}}"}'
请求(Request)
定义匹配条件,包含以下字段:
host:请求主机名(不含端口)method:HTTP方法(必填,支持多方法用|分隔,如GET|POST)path:资源路径(必填,支持:variable命名参数和通配符)queryStringParameters:查询字符串参数(支持多值)headers:请求头(区分大小写,支持多值)cookies:Cookie键值对body:请求体(支持通配符匹配)响应(Response,代理模式下可选)
定义匹配后的响应,包含:
statusCode:HTTP状态码(如200、404、500)headers:响应头(支持多值和变量)cookies:响应Cookie(支持变量)body:响应体(支持变量)控制(Control,可选)
高级配置选项:
scenario:场景配置(name场景名称、requiredState当前所需状态、newState匹配后新状态)proxyBaseURL:代理基础URL(将请求转发至该URL,无需定义response)delay:响应延迟(秒,模拟网络或服务器性能问题)crazy:是否启用疯狂模式(随机返回5xx错误,模拟服务器故障)priority:匹配优先级(数值越高优先级越高,避免被宽松规则匹配)webHookURL:匹配后通知的WebHook端点响应中可使用变量标签{{nameVar}},支持以下类型:
请求数据变量
提取请求中的数据:
request.scheme:请求协议(http/https)request.hostname:主机名request.port:端口request.path:完整路径request.path."key":路径中的命名参数(如/user/:id对应request.path.id)request.query."key":查询参数(如?name=test对应request.query.name)request.cookie."key":Cookie值request.url:完整URL(含协议、主机、端口、路径和查询参数)request.body:请求体(支持JSON/XML/表单数据的键值提取,如request.body.user.name)伪造数据变量(fake)
生成随机测试数据:
fake.FirstName:名fake.LastName:姓fake.FullName:全名fake.EmailAddress:***fake.City:城市fake.Country:国家fake.IPv4:IPv4地址fake.UUID:UUIDfake.Int(n):小于n的随机整数fake.Word:随机单词外部流变量
file.contents(FILE_PATH):读取文件内容http.contents(URL):获取URL响应内容场景用于模拟有状态服务,通过状态机管理服务行为。默认初始状态为not_started,可通过requiredState指定匹配所需状态,newState设置匹配后的新状态。
示例流程:
GET /user 需状态created,返回404POST /user 需状态not_started,返回201并更新状态为createdGET /user 需状态created,返回200Mmock提供REST API用于管理请求、场景和模拟规则:
验证请求
GET /api/request/all:获取所有请求记录GET /api/request/matched:获取所有匹配的请求POST /api/request/verify:验证是否收到匹配特定规则的请求场景管理
GET /api/scenarios/reset_all:重置所有场景状态PUT /api/scenarios/set/:scenario/:state:设置场景状态PUT /api/scenarios/pause:暂停场景状态更新PUT /api/scenarios/unpause:恢复场景状态更新模拟规则管理
GET /api/mapping:获取所有模拟规则POST /api/mapping/:uri:创建模拟规则PUT /api/mapping/:uri:更新模拟规则DELETE /api/mapping/:uri:删除模拟规则Mmock默认收集***使用统计(如模拟请求数、控制台使用次数等),可通过启动参数-server-statistics=false禁用。
通过命令行参数配置Mmock(Docker运行时可添加至docker run命令末尾):
-config-path string 模拟规则目录(默认"execution_path/config") -console bool 是否启用控制台(默认true) -console-ip string 控制台IP(默认公共IP) -console-port int 控制台端口(默认8082) -request-storage-capacity int 请求存储容量(0为无限,默认100) -server-ip string 模拟服务器IP(默认公共IP) -server-port int 模拟服务器端口(默认8083) -server-statistics bool 是否启用统计(默认true) -server-tls-port int TLS端口(默认8084) -tls-path string TLS配置目录(默认"execution_path/tls")
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务