# distribution/distribution

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/distribution-distribution).**

10,479 stars · 2,749 forks · Go · Apache-2.0

## Links

- GitHub: https://github.com/distribution/distribution
- Homepage: https://distribution.github.io/distribution
- awesome-repositories: https://awesome-repositories.com/repository/distribution-distribution.md

## Topics

`cncf` `containers` `distribution` `oci` `oci-specification` `registry`

## Description

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.

## Tags

### DevOps & Infrastructure

- [Container Image Registries](https://awesome-repositories.com/f/devops-infrastructure/container-image-registries.md) — Implements a full OCI-compliant container image registry for pushing, pulling, and managing images.
- [OCI Container Registry Clients](https://awesome-repositories.com/f/devops-infrastructure/artifact-registries/oci-artifact-retrieval/oci-container-registry-clients.md) — Ships a server-side OCI container registry that stores and distributes images per the OCI Distribution Specification.
- [Container Image Layering](https://awesome-repositories.com/f/devops-infrastructure/container-image-layering.md) — Organizes container images as a stack of immutable layers identified by digests for efficient caching.
- [Image Push-Pull Workflows](https://awesome-repositories.com/f/devops-infrastructure/container-image-registries/image-push-pull-workflows.md) — Allows clients to pull container images from it for local use or deployment. ([source](https://distribution.github.io/distribution](https://distribution.github.io/distribution/))
- [Registry Servers](https://awesome-repositories.com/f/devops-infrastructure/deployment-management-strategies/automation-and-tooling/deployment-tooling/single-binary-distributions/stateless/registry-servers.md) — Runs as a stateless, horizontally scalable server that can be started with a single Docker command. ([source](https://distribution.github.io/distribution/))
- [Distribution Specifications](https://awesome-repositories.com/f/devops-infrastructure/oci-container-engines/distribution-specifications.md) — Implements the OCI Distribution Specification for container image storage and retrieval.
- [Resumable Blob Uploads](https://awesome-repositories.com/f/devops-infrastructure/artifact-registries/oci-artifact-retrieval/oci-blob-uploads/resumable-blob-uploads.md) — Supports resumable blob uploads with chunked transfer for reliable large layer pushes.
- [Upstream Registry Caching](https://awesome-repositories.com/f/devops-infrastructure/container-image-registries/upstream-registry-caching.md) — Acts as a caching proxy that fetches and stores images from upstream registries on first request.

### Data & Databases

- [Content-Addressable Storage](https://awesome-repositories.com/f/data-databases/content-addressable-storage.md) — Stores and retrieves content by cryptographic hash for integrity and deduplication of image layers.
- [API Servers](https://awesome-repositories.com/f/data-databases/horizontal-scaling/stateless-web-scaling/transport-scaling/stateless-http/api-servers.md) — Serves container images via a RESTful HTTP API without session state for horizontal scaling.
- [Horizontal Scaling](https://awesome-repositories.com/f/data-databases/horizontal-scaling.md) — Runs as a stateless server application that scales horizontally to handle high volumes of image distribution. ([source](https://distribution.github.io/distribution/))
- [Stateless Registry Scaling](https://awesome-repositories.com/f/data-databases/horizontal-scaling/stateless-web-scaling/stateless-registry-scaling.md) — Operates as a stateless server that scales horizontally to handle high-volume container image distribution.

### Development Tools & Productivity

- [OCI Registry API Clients](https://awesome-repositories.com/f/development-tools-productivity/agent-recipe-registries/oci-registry-api-clients.md) — Implements the OCI Distribution Specification so any OCI-compatible client can push and pull content. ([source](https://distribution.github.io/distribution/))

### Software Engineering & Architecture

- [Container Content Distribution Toolkits](https://awesome-repositories.com/f/software-engineering-architecture/distributed-systems-toolkits/container-content-distribution-toolkits.md) — Provides a toolkit for packaging, shipping, storing, and delivering container content across networks.
- [Blob and Manifest Separation](https://awesome-repositories.com/f/software-engineering-architecture/resource-separation/experience-and-constraint-separation/blob-and-manifest-separation.md) — Separates image metadata from bulk data to enable efficient validation and partial pulls.

### Security & Cryptography

- [Externally Managed Bearer Token Authenticators](https://awesome-repositories.com/f/security-cryptography/bearer-token-authentication/externally-managed-bearer-token-authenticators.md) — Authenticates clients using bearer tokens issued by an external auth service for fine-grained access control.
