OCI Announces Distribution Specification v1.0

The Open Container Initiative (OCI) recently announced the v1.0 release of the Distribution Specification. The Distribution Specification is part of a family of container format specifications standardized by the OCI, a Linux Foundation standards body.

As we’ve previously covered, the OCI Specification was ratified in 2017, and in 2018, the Distribution Specification was announced. Now, with the full release of the Container Distribution Specification, container platforms have a mature industry-standard method to define image distribution mechanics, helping to standardize how to store, process and pull container images.

Over the years, the explosion of Docker saw a massive uptick in container image uses. But, Docker is not the only runtime option for containers, nor is Docker Hub the only container registry out there. Below, we’ll explore what, exactly, the OCI is and consider how the v1.0 release of the Distribution Specification may further evolve the container ecosystem.

What is the OCI?

The Open Container Initiative (OCI), started in 2015, is a community that establishes and maintains open standards for Linux containers. “The mission of the Open Container Initiative (OCI) is to promote a set of common, minimal, open standards and specifications around container technology.” These standards are important for encouraging consistency and interoperability throughout the container ecosystem.

At the time of writing, OCI has produced three specifications:

In addition to the above standards, OCI develops runc, a container runtime. According to Kirill Shirinkin, you can think of runc as “the tool that really runs your containers.” Runc is at the core of many container-related tools, such as Docker, containerd, Podman and others.

Having container specification standards could increase portability between container platforms. In addition, container formats could also promote more alternative vendors. As such, over the last few years, more and more container platforms have become certified as OCI compliant.

What is the OCI Distribution Spec?

Launched in 2018 and supported by 40 contributors, the Distribution Specification helps define the way systems push and pull container images as well as other content types, known as artifacts. It’s based on the specification for the Docker Registry HTTP API V2 protocol.

“The OCI Distribution Spec defines an API protocol to facilitate and standardize the distribution of content.”

The Github repository notes four potential use cases:

  • Artifact Verification: Help enable trust between registries.
  • Resumable Push: Improve communication to help reduce re-uploading for transfers interrupted midway.
  • Resumable Pull: Similarly, it could help reduce unneeded downloads on the incoming side.
  • Layer Upload Deduplication: The spec could help container registries avoid duplicating layers.

“Reaching v1.0 means the OCI Distribution Spec is stable and ready to serve as the baseline for the distribution of container images across platforms,” said Chris Aniszczyk, executive director of OCI.

The Distribution Specification already has production proof. For example, Azure Container Registry supports the spec.

A Checkpoint for the Container Community

The finalization of the Distribution Specification is another milestone for OCI and the container community as a whole. Standardizing core container distribution operations could streamline interactions across container registries. Further adoption of the Distribution Specification could also help ease storage and management of non-container assets too.

“The runtime spec helped us define a container and how it runs; the image spec gave us a way to package that into a container image,” said Phil Estes, chair of the OCI Technical Oversight Board (TOB). “Both of these were significant milestones from the original OCI charter, and finalizing the OCI distribution spec today gives us a standard way to distribute images via registries and runtime tools.”

“In the years since we built the Docker Registry protocol, there has been an explosion of usage in container images, driven by the standards-focused OCI community,” said Justin Cormack, CTO of Docker. “With our contribution of the Distribution reference implementation to CNCF and v1.0 of the OCI Distribution Spec, this marks a milestone for the community.”

While this is a checkpoint for the community, future development is likely. As Mike Vizard covered in 2017, future work at OCI may involve standardizing the signing process. We’ll keep an eye on this space to find out where this development leads!

Bill Doerrfeld

Bill Doerrfeld is a tech journalist and analyst. His beat is cloud technologies, specifically the web API economy. He began researching APIs as an Associate Editor at ProgrammableWeb, and since 2015 has been the Editor at Nordic APIs, a high-impact blog on API strategy for providers. He loves discovering new trends, interviewing key contributors, and researching new technology. He also gets out into the world to speak occasionally.

Bill Doerrfeld has 105 posts and counting. See all posts by Bill Doerrfeld