runtime-spec
OCI Runtime Specification
This repository holds the official specification document for how containers should be created and run at a low level on a computer. The Open Container Initiative (OCI) is an industry group formed to create shared standards around container technology, and the runtime specification is one of their core outputs. A container, in this context, is a lightweight way to package and run software in an isolated environment, which is the technology behind tools like Docker.
The specification defines what a container should look like as a bundle of files, what configuration options are valid, and what behavior a compliant runtime must implement when starting, stopping, or interacting with a container. This means that if you build a tool that follows this spec, it will be able to run containers created by any other compliant tool. Docker's low-level runtime component, called runc, is one prominent example of a program that implements this specification.
The repository serves three main audiences. Application bundle builders use the spec to understand how to package software so it can run on any compliant platform. Hook developers use it to learn how to plug custom behavior into a container's lifecycle, such as specialized network setup. Runtime developers use it as the authoritative guide when building a new container runtime that should work alongside existing tools.
The specification itself lives in a file called spec.md in the repository, with additional files covering platform-specific details for Linux, Windows, and virtual machines. The README is brief and primarily covers how to contribute: discussing changes on a mailing list before opening a pull request, signing commits to confirm authorship, and following standard commit message formatting.
The project is licensed under Apache 2.0 and governed by OCI, which holds regular contributor meetings and maintains mailing lists and chat rooms for discussion.