Docker is handing its CNAB to OCI technology over to the CNAB project, just over a year after the project was first announced.
The Cloud Native Application Bundle spec was launched by Docker and Microsoft at the container company’s European event in December 2018. At the time, the companies described the CNAB spec as “an open source, cloud-agnostic specification for packaging and running distributed applications” which would allow the definition of resources that can be deployed to “any combination of runtime environments including Docker, Kubernetes, Helm, automation tools and cloud services.”
The CNAB spec was subsequently moved into a cnabio organisation, along with the reference implementations.
Docker said it had subsequently “led the work on the cnab-to-oci library for sharing a CNAB bundle using an existing container registry”. The library is used by three CNAB tools – Docker App, Porter and duffle – as well as Docker Hub.
The work will also form the foundation for a future CNAB Registries spec, Docker said today.
According to Docker’s statement today, the OCI image specification covers two main objects – the OCI Manifest and the OCI Image Index. The former covers the Docker image, while the latter covers multi-architecture images, but can also “store almost anything you want, as long as you meet the specification, and it is quite open”.
CNAB to OCI, it continues, “uses this openness to push the bundle.json, but also the invocation image and the component images (or service images for a Docker App).” Like that, everything can be pushed into the same repository, “so one has the guarantee that when someone pulls her/his bundle, all the components can be pulled as well.”
You can get the full lowdown on CNAB to OCI at the project’s GitHub page here.