The Influence of the Open Container Initiative (OCI)

Role of OCI in defining container-related specifications.

We'll cover the following

While Docker, Inc. was breaking the daemon apart and refactoring code, the OCI was in the process of defining two container-related specifications (a.k.a. standards):

  1. Image spec
  2. Container runtime spec

Both specifications were released as version 1.0, in July 2017 and we shouldn’t see too much change, as stability is the name of the game here. The latest image spec is v1.0.1, which was released in November 2017. The latest runtime spec is v1.0.2, which was released in March 2020.

Docker, Inc. was heavily involved in creating these specifications and contributed a lot of code.

As of Docker 1.11 (early 2016), the Docker engine implements the OCI specifications as closely as possible. For example, the Docker daemon no longer contains any container runtime code. All container runtime code is implemented in a separate OCI-compliant layer. By default, Docker uses runc for this. runc is the reference implementation of the OCI container-runtime-spec. This is the runc container runtime layer in the figure below:

Get hands-on with 1000+ tech skills courses.