Advancing AI model interoperability with Docker and ModelPack
I'll pull the CNCF source and the post-writing rules so the paragraphs stay factual and match the house style.The request is body copy only, so I’m reading…
By Dillip Chowdary • Aug 13, 2026 • Source: CNCF Blog
What happened
I'll pull the CNCF source and the post-writing rules so the paragraphs stay factual and match the house style.The request is body copy only, so I’m reading the CNCF article for names, mechanics, and claims I can use without inventing figures.The CNCF blog published a member post by Andrew Block of Red Hat on ModelPack and its work with Docker on Docker Model Runner. Block’s starting point is that the rise in tools for creating and running AI content has lowered the barrier of entry and given teams more choice of stack. The same expansion created a management problem: many tools keep a tight coupling between the runtime and the way they store, package, and ship models, which limits how easily a model can move between frameworks or leave the machine that produced it. Those concerns are a primary focus of ModelPack. Maintainers and contributors from Nutanix, Ant, Jozu, and Red Hat already work on the project. Docker engineers then approached that community because Docker Model Runner was already packaging models as OCI artifacts, and the two groups changed both sides so models produced by Docker Model Runner can be emitted in ModelPack format.
On a single laptop the packaging question can stay invisible. The moment a model has to be reused, reviewed, or served by someone else, the format and the backend become the constraint. Block lists three common packaging patterns: a compressed archive that holds every related asset, a container image that wraps those assets in a standard image, and a wrapper that assembles content with proprietary metadata and structures. Storage splits the same way: on-premise or cloud object storage, Git LFS for large files inside Git, and custom model registries that only one implementation understands. Teams do not pick a tool in isolation. They pick whatever combination of model format and storage backend the current stack already accepts, then they inherit that lock-in.
The technical detail

ModelPack attacks that lock-in by defining an open standard for how an AI model is constructed and by using OCI artifacts as the assembly and distribution layer. Docker Model Runner was already on that layer, but it was not the same artifact. It packages models with the OCI media type application/vnd.docker.ai.model.config.v0.1+json plus additional media types for the layers inside the artifact. ModelPack uses application/vnd.cncf.model.manifest.v1+json as its artifact type. The config descriptors also diverge: application/vnd.cncf.model.config.v1+json on the ModelPack side versus application/vnd.docker.ai.model.config.v0.1+json on the Docker side. License and documentation layers differ as well. ModelPack uses application/vnd.cncf.model.doc.v1.tar and can carry other documentation such as README.md files, including compressed archives through supported suffix types. Docker Model Runner uses application/vnd.docker.ai.license and has no separate artifact-type media type in that comparison.
Advertisement
Tech Pulse Daily
Get tomorrow's pulse first
Join engineers who read Tech Pulse before stand-up. Free, weekday mornings.
Why it matters for builders
Because Docker models still follow the Open Container Initiative guidelines for artifact usage, registries that already speak OCI, including Docker Hub and Quay, can store them regardless of artifact type. That is distribution without interoperability. A registry that can hold the bytes is not the same as a serving stack that can read the manifest. The collaboration therefore hardened the ModelPack specification so it is a viable packaging standard, and it added a production path on the Docker Model Runner side. Users can now pass --format=cncf to the docker model package command. The produced model is a ModelPack-formatted OCI artifact and can be published to an OCI registry for consumption by people and by compatible serving frameworks.
For engineers this is a packaging decision, not a research story. If a training or conversion pipeline already lives in Docker Model Runner, the default Docker media types keep the artifact inside a Docker-shaped island even after it lands in a shared registry. Emitting ModelPack instead means the same package command can target a vendor-neutral CNCF artifact that other ModelPack-aware tools can consume without a custom unwrap step. That is the container lesson applied to weights and config: the unit of exchange is no longer a zip file on object storage or a proprietary registry record. It is an OCI artifact with documented media types. Builders who already push images to Docker Hub or Quay can keep that registry path and change only the format flag.
Market and competitive context
The market context is a pile of overlapping, non-interchangeable answers to the same job. Compressed archives are simple and portable until metadata, licenses, and multi-file layouts have to be reinvented by every consumer. Container images reuse familiar registries and scanners but treat the model as just another filesystem. Proprietary wrappers and custom model registries optimize for one vendor’s training or serving product and tax every exit. Git LFS keeps models next to code at the cost of Git-shaped workflows for large blobs. ModelPack is betting that the OCI artifact ecosystem already used in cloud-native delivery is a better common layer than any of those one-off backends. Docker’s participation matters because Docker Model Runner is a widely distributed local runner, not a niche CNCF-only CLI. Supporting ModelPack as an output format is an onramp: Docker users can produce a CNCF-shaped artifact without leaving the docker model package workflow.
What to watch next
What to do next is concrete. If you package with Docker Model Runner and need the artifact to be readable outside Docker’s media types, add --format=cncf, push the result to an OCI registry you already operate, and confirm the consumer actually understands application/vnd.cncf.model.manifest.v1+json and application/vnd.cncf.model.config.v1+json. Watch whether the serving frameworks you already run grow explicit ModelPack support, and whether the hardened specification stays stable enough to pin in a supply-chain policy. The open questions are the ones the post does not close. Two media-type families still exist. Docker Model Runner’s native format remains a first-class output; ModelPack is an option, not a replacement. Interoperability only appears when the other end of the pull implements the ModelPack spec rather than guessing at layer contents. It is also unclear from the announcement how many serving frameworks already consume ModelPack artifacts versus how many can merely store them in an OCI registry. Treat the --format=cncf path as a contract you verify against your registry, your scanner, and your runtime, not as a guarantee that every OCI-compatible system will run the model.
Advertisement
🔎 More interesting news
- DeepSeek Harness launches as open source rival to Claude Code, alongside V4-Pro on API…
- Google’s Gemini 3.7 Flash targets coding and agents with a 50% introductory price cut
- What 50 open source projects taught us about security in the AI era
- OpenAI previews ‘Ultrafast’ GPT-5.6 Sol running up to 14 times faster
- Today's full Tech Pulse briefing →