Distribution is an open-source container image registry that implements the OCI Distribution Specification, enabling any OCI-compatible client to push, pull, and manage container images over standard protocols. It serves as a content distribution toolkit for packaging, shipping, storing, and delivering container content across networked environments, storing and retrieving content by its cryptographic hash for integrity and deduplication.
The registry separates image metadata from bulk data to enable efficient validation and partial pulls, and supports resumable blob uploads with chunked transfer for reliable large layer pushes over unstable connections. It organizes container images as a stack of immutable layers identified by digests, authenticates clients using bearer tokens from an external auth service, and can act as a caching proxy that fetches and stores images from upstream registries on first request.
The registry runs as a stateless, horizontally scalable server that serves container images via a RESTful HTTP API without maintaining session state, enabling horizontal scaling and the ability to start and stop without data loss. It can be started with a single Docker command and supports standard operations including container image pull, push, and storage.