本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
datamodel-code-generator是一款代码生成工具,能够从OpenAPI规范、JSON Schema、JSON、YAML、CSV等多种数据源生成Python数据模型,支持Pydantic v1/v2模型、dataclasses.dataclass、typing.TypedDict及msgspec.Struct等多种输出类型。该工具广泛应用于API客户端开发、数据验证、配置文件处理等场景,帮助开发者快速生成类型安全的数据模型代码,减少手动编码工作量。
pydantic.BaseModel(v1版本)pydantic_v2.BaseModel(v2版本)dataclasses.dataclasstyping.TypedDictmsgspec.Structdocker pull koxudaxi/datamodel-code-generator
将本地数据源文件(如OpenAPI规范文件)挂载到容器中,生成数据模型代码:
# 示例:从当前目录的api.yaml生成model.py docker run --rm -v $(pwd):/app koxudaxi/datamodel-code-generator \ --input /app/api.yaml \ --output /app/model.py
参数说明:
--rm:容器退出后自动删除-v $(pwd):/app:将当前目录挂载到容器内的/app目录--input /app/api.yaml:指定输入文件路径(容器内路径)--output /app/model.py:指定输出文件路径(容器内路径)需启用HTTP支持(镜像已预装相关依赖),从远程URL获取数据源并生成模型:
docker run --rm -v $(pwd):/app koxudaxi/datamodel-code-generator \ --url [***] \ --output /app/remote_model.py
指定生成dataclasses.dataclass类型的模型:
docker run --rm -v $(pwd):/app koxudaxi/datamodel-code-generator \ --input /app/schema.json \ --output /app/dataclass_model.py \ --output-model-type dataclasses.dataclass
创建docker-compose.yml文件,定义生成任务:
version: '3' services: generate-model: image: koxudaxi/datamodel-code-generator volumes: - ./:/app command: > --input /app/api.yaml --output /app/model.py --snake-case-field # 将字段名转换为蛇形命名 --use-field-description # 从 schema 描述生成字段文档字符串
运行生成命令:
docker-compose run --rm generate-model
| 选项 | 描述 |
|---|---|
--input INPUT | 输入文件/目录路径(默认:标准输入) |
--output OUTPUT | 输出文件路径(默认:标准输出) |
--url URL | 远程输入文件URL(使用时忽略--input) |
--output-model-type TYPE | 指定输出模型类型(如pydantic_v2.BaseModel) |
--snake-case-field | 将驼峰式字段名转换为蛇形命名 |
--use-field-description | 使用schema描述作为字段文档字符串 |
--http-headers HEADERS | 为远程URL请求设置HTTP头(如认证信息) |
--base-class CLASS | 指定自定义基类(默认:pydantic.BaseModel) |
完整命令选项可通过以下命令查看:
docker run --rm koxudaxi/datamodel-code-generator --help
多个开源项目使用该工具生成数据模型,包括:
MIT许可证,详见项目仓库。
免费版仅支持 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