Prism 是一套用于 API 模拟和契约测试的工具包,支持 OpenAPI v2(原 Swagger)和 OpenAPI v3.x。它能从 API 规范文档生成逼真的模拟服务器,提供契约测试功能,并支持多种 API 规范格式,帮助开发者在 API 开发周期早期进行测试和验证。
bashdocker pull stoplight/prism
使用本地 OpenAPI 规范文件启动模拟服务器:
bash# 挂载当前目录并映射端口,启动模拟服务器 docker run --rm -v $(pwd):/app -p 4010:4010 stoplight/prism mock /app/openapi.yaml
参数说明:
-v $(pwd):/app:将本地当前目录挂载到容器内 /app 目录,使容器可访问规范文件-p 4010:4010:映射容器 4010 端口到主机,默认模拟服务器监听 4010 端口mock /app/openapi.yaml:指定模拟模式及容器内规范文件路径启动后可通过 http://localhost:4010 访问模拟服务器,具体端点可查看启动日志中的 URL 列表。
将请求代理到实际 API 服务器并验证合规性:
bash# 启动验证代理,转发请求到目标服务器并验证 docker run --rm -v $(pwd):/app -p 4010:4010 stoplight/prism proxy /app/openapi.yaml [***]
参数说明:
proxy:指定代理模式,后接规范文件路径和目标 API 服务器 URLhttp://localhost:4010 的请求将被转发至 [***],并根据规范验证请求合法性| 参数 | 说明 | 示例 |
|---|---|---|
-h, --host | 指定监听主机地址(Docker 中建议用 0.0.0.0) | mock -h 0.0.0.0 /app/spec.yaml |
-p, --port | 自定义监听端口 | mock -p 8080 /app/spec.yaml |
--debug | 启用调试模式,输出详细请求处理日志 | mock --debug /app/spec.yaml |
Prism 默认监听 localhost(127.0.0.1),Docker 环境下需指定 -h 0.0.0.0 允许外部访问:
bashdocker run --rm -v $(pwd):/app -p 4010:4010 stoplight/prism mock -h 0.0.0.0 /app/spec.yaml
OpenAPI v2.0 的 basePath 已合并到 v3.0 的 server.url。Prism 将 OAS2 的 host + basePath 视为完整基础 URL,请求无需重复包含 basePath。例如规范中 basePath: /api/v1 且路径定义为 /users,直接请求 http://localhost:4010/users 即可,无需添加 /api/v1 前缀。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429