whatisgithub

What is runtime-spec?

opencontainers/runtime-spec — explained in plain English

Analysis updated 2026-05-18

3,621GoAudience · developerComplexity · 4/5LicenseSetup · hard

In one sentence

The official standard document defining how software containers like Docker should be built and run.

Mindmap

mindmap
  root((OCI runtime-spec))
    What it does
      Defines container bundle format
      Sets runtime behavior rules
      Covers Linux Windows and VMs
    Tech stack
      Markdown specification
      Go tooling for validation
    Use cases
      Build a compliant container runtime
      Package software as OCI bundles
      Write lifecycle hooks
    Audience
      Runtime developers
      Tooling maintainers
      Standards contributors

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a new container runtime that interoperates with tools like Docker and runc.

USE CASE 2

Package an application as an OCI-compliant bundle that runs on any compliant platform.

USE CASE 3

Write lifecycle hooks that plug custom behavior into container start and stop events.

USE CASE 4

Reference the spec when validating whether a container tool follows the OCI standard.

What is it built with?

GoMarkdown

How does it compare?

opencontainers/runtime-specirinesistiana/mosdnsx-motemen/ghq
Stars3,6213,6243,624
LanguageGoGoGo
Setup difficultyhardmoderateeasy
Complexity4/53/52/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

This is a specification document, not runnable software, implementing it requires building a full container runtime.

Free to use, modify, and share, including for commercial purposes, as long as the copyright notice is kept.

So what is it?

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.

Copy-paste prompts

Prompt 1
Explain what the OCI runtime specification defines and why it matters for tools like Docker.
Prompt 2
Walk me through the difference between an OCI bundle and an OCI runtime implementation.
Prompt 3
Summarize what a lifecycle hook is and give an example use case from this spec.
Prompt 4
Help me understand how runc relates to this specification.

Frequently asked questions

What is runtime-spec?

The official standard document defining how software containers like Docker should be built and run.

What language is runtime-spec written in?

Mainly Go. The stack also includes Go, Markdown.

What license does runtime-spec use?

Free to use, modify, and share, including for commercial purposes, as long as the copyright notice is kept.

How hard is runtime-spec to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is runtime-spec for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.