andersch.dev

<2025-03-22 Sat>

OCI (Open Containers Initiative)

The Open Containers Initiative (OCI) is a Linux Foundation project from 2015 that standardizes container technology. Before OCI, Docker was the only container format and platform-agnostic standardization around container tooling was lacking.

It provides a specification for container image formats (the OCI spec), to ensure interoperability across different container platforms.

OCI Image

Four components:

  • Layer: What's inside an image, e.g. source code, container filesystem, etc.
  • config.json: How to run the container
  • manifest.json: Locate layers and config
  • index.json: index for a set of images spanning architectures and OS's

Containerfile:

FROM scratch           # image based on empty base image

COPY ./hello ./        # copy hello binary to the image

ENTRYPOINT ["./hello"] # set as entrypoint for container

Resources