本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
OpenAPI-diff 是一个用于比较两个 OpenAPI 规范(3.x 版本)的工具,支持将差异结果渲染为 HTML、纯文本或 Markdown 格式。该工具提供 Docker 镜像,方便用户快速部署和使用,无需手动配置依赖环境。适用于 API 版本变更管理、兼容性验证及文档差异分析等场景。
从 Docker Hub 拉取官方镜像:
docker pull openapitools/openapi-diff:latest
比较两个 OpenAPI 规范文件(本地文件或 HTTP URL):
docker run --rm openapitools/openapi-diff:latest <旧规范路径> <新规范路径>
| 参数 | 描述 |
|---|---|
--debug | 打印调试信息 |
--error | 打印错误信息 |
--fail-on-changed | 若 API 发生向后兼容的变更则退出码非 0 |
--fail-on-incompatible | 仅当 API 变更破坏向后兼容性时退出码非 0 |
-h,--help | 显示帮助信息 |
--header <property=value> | 添加请求头用于授权(如 Authorization=Bearer token) |
--html <file> | 将差异导出为 HTML 文件(需挂载目录以保存文件) |
--info | 打印额外信息 |
-l,--log <level> | 设置日志级别(TRACE、DEBUG、INFO、WARN、ERROR、OFF),默认:ERROR |
--markdown <file> | 将差异导出为 Markdown 文件(需挂载目录以保存文件) |
--off | 不打印任何信息 |
--query <property=value> | 添加查询参数用于授权(如 api_key=xxx) |
--state | 仅输出差异状态:no_changes(无变更)、incompatible(不兼容)、compatible(兼容) |
--text <file> | 将差异导出为纯文本文件(需挂载目录以保存文件) |
--trace | 开启详细日志输出 |
--version | 打印版本信息并退出 |
--warn | 打印警告信息 |
若需自定义镜像,可从源码构建:
# 克隆仓库(如需修改Dockerfile) git clone [***] cd openapi-diff # 构建本地镜像 docker build -t local-openapi-diff .
比较本地文件(需挂载包含规范文件的目录):
# 假设规范文件位于当前目录下的specs文件夹 docker run --rm -t \ -v $(pwd)/specs:/specs:ro \ openapitools/openapi-diff:latest /specs/old_api.yaml /specs/new_api.yaml
导出差异为 HTML 文件:
docker run --rm -t \ -v $(pwd)/specs:/specs:ro \ -v $(pwd)/output:/output \ openapitools/openapi-diff:latest \ --html /output/diff.html \ /specs/old_api.yaml /specs/new_api.yaml
检查兼容性并根据结果退出:
# 若存在不兼容变更则失败(退出码非0) docker run --rm openapitools/openapi-diff:latest \ --fail-on-incompatible \ [***] [***]
========================================================================== == API CHANGE LOG == ========================================================================== Swagger Petstore -------------------------------------------------------------------------- -- What's New -- -------------------------------------------------------------------------- - GET /pet/{petId} -------------------------------------------------------------------------- -- What's Deleted -- -------------------------------------------------------------------------- - POST /pet/{petId} -------------------------------------------------------------------------- -- What's Deprecated -- -------------------------------------------------------------------------- - GET /user/logout -------------------------------------------------------------------------- -- What's Changed -- -------------------------------------------------------------------------- - PUT /pet Request: - Deleted application/xml - Changed application/json Schema: Backward compatible ...
### What's New --- * `GET` /pet/{petId} Find pet by ID ### What's Deleted --- * `POST` /pet/{petId} Updates a pet in the store with form data ### What's Changed --- * `PUT` /pet Update an existing pet Request Deleted application/xml Changed application/json Schema: Backward compatible ...
本镜像基于 Apache License 2.0 许可发布。
特别感谢以下项目和贡献者的启发与支持:
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429