The Open Container Initiative (OCI) launched a project to standardize container image distribution based on the Docker Registry v2 protocol. The creation of the new distribution specification supports interoperability within the container ecosystem.

The Docker Registry is used to pull images into a container. Those images are the data pieces that make up a functioning container. The Docker Registry v2 protocol handles the pushing and pulling of container images and has been used to pull more than 40 billion images.

OCI Executive Director Chris Aniszczyk explained that the Docker Registry protocol had always been open sourced. It had also become a de facto standard in terms of a platform for pulling container images.

“The challenge we ran into was that different container registries implemented the protocol using different versions and has led to some incompatibility issues,” Aniszczyk said, citing multi-arch images as an example.

The next step would be to migrate the code over to the new repository and pull in the OCI community on any potential changes ahead of a first specification release. “There is also a desire to build some conformance tooling to ensure any implementor out there can easily check if they are compliant with the distribution spec,” Aniszczyk said.

The new distribution specification also continues OCI’s work on setting conformance and certification standards. “The OCI will work on tooling to help verify proper conformance of the distribution specification so all container registries out there will be conformant eventually,” he said.

All of the large cloud providers offered up supporting comments to the move, basically all pointing to the ongoing importance of specifications for the distribution of container images.

Building Momentum

The OCI move builds on the release last year of the 1.0 version of its open source container runtime and image format specifications. Those specifications support container portability across different implementations, including compliant operating systems and platforms. Companies using the specifications can develop, package, and sign application containers, then run them in a variety of container engines.

“Basically, as long as images follow this specification, it should enable anyone to build tools that will work with the images and have the resulting images be compatible with any compliant runtime,” explained Joe Brockmeier, senior evangelist for Linux Containers at Red Hat, in a blog post.

The initial specification has been nearly two years in the making. OCI began the push in mid-2015, releasing drafts of its charter and technical specifications. Docker Inc. was instrumental in the initial work, having donated its runC container format and runtime to the cause.