awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
distribution avatar

distribution/distribution

0
View on GitHub↗
10,479 stars·2,749 forks·Go·Apache-2.0·28 viewsdistribution.github.io/distribution↗

Distribution

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.

Features

  • Container Image Registries - Implements a full OCI-compliant container image registry for pushing, pulling, and managing images.
  • Content-Addressable Storage - Stores and retrieves content by cryptographic hash for integrity and deduplication of image layers.
  • API Servers - Serves container images via a RESTful HTTP API without session state for horizontal scaling.
  • OCI Registry API Clients - Implements the OCI Distribution Specification so any OCI-compatible client can push and pull content.
  • OCI Container Registry Clients - Ships a server-side OCI container registry that stores and distributes images per the OCI Distribution Specification.
  • Container Image Layering - Organizes container images as a stack of immutable layers identified by digests for efficient caching.
  • Image Push-Pull Workflows - Allows clients to pull container images from it for local use or deployment.
  • Registry Servers - Runs as a stateless, horizontally scalable server that can be started with a single Docker command.
  • Distribution Specifications - Implements the OCI Distribution Specification for container image storage and retrieval.
  • Container Content Distribution Toolkits - Provides a toolkit for packaging, shipping, storing, and delivering container content across networks.
  • Blob and Manifest Separation - Separates image metadata from bulk data to enable efficient validation and partial pulls.
  • Horizontal Scaling - Runs as a stateless server application that scales horizontally to handle high volumes of image distribution.
  • Stateless Registry Scaling - Operates as a stateless server that scales horizontally to handle high-volume container image distribution.
  • Resumable Blob Uploads - Supports resumable blob uploads with chunked transfer for reliable large layer pushes.
  • Upstream Registry Caching - Acts as a caching proxy that fetches and stores images from upstream registries on first request.
  • Externally Managed Bearer Token Authenticators - Authenticates clients using bearer tokens issued by an external auth service for fine-grained access control.

Star history

Star history chart for distribution/distributionStar history chart for distribution/distribution

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does distribution/distribution do?

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.

What are the main features of distribution/distribution?

The main features of distribution/distribution are: Container Image Registries, Content-Addressable Storage, API Servers, OCI Registry API Clients, OCI Container Registry Clients, Container Image Layering, Image Push-Pull Workflows, Registry Servers.

What are some open-source alternatives to distribution/distribution?

Open-source alternatives to distribution/distribution include: google/go-containerregistry — go-containerregistry is a Go library and toolkit for interacting with OCI and Docker registries. It provides a… docker/distribution — This project is a container image registry and server-side storage system designed to house container images, layers,… projectatomic/skopeo — Skopeo is a command line utility for inspecting, copying, and managing OCI and Docker container images across… eon01/dockercheatsheet — This project is a comprehensive reference guide and cheat sheet for the Docker CLI. It provides a structured… docker/docker — Docker is an OCI container engine and runtime orchestrator used to build, run, and manage isolated applications. It… iam-veeramalla/docker-zero-to-hero.

Open-source alternatives to Distribution

Similar open-source projects, ranked by how many features they share with Distribution.
  • google/go-containerregistrygoogle avatar

    google/go-containerregistry

    3,747View on GitHub↗

    go-containerregistry is a Go library and toolkit for interacting with OCI and Docker registries. It provides a programmatic implementation of the Open Container Initiative distribution specification to fetch, upload, and manage container images, manifests, and layers. The library functions as a container image manipulation tool and a multi-platform image index manager. It enables the resolution and management of manifest lists that target various hardware architectures and operating systems without requiring a local daemon. The toolkit covers a broad range of registry interactions, including

    Gocontainercontainer-registrydocker
    View on GitHub↗3,747
  • docker/distributiondocker avatar

    docker/distribution

    10,474View on GitHub↗

    This project is a container image registry and server-side storage system designed to house container images, layers, and manifests. It functions as an OCI compliant registry server that adheres to the Open Container Initiative Distribution Specification to store and deliver content over HTTP. The system provides a self-hosted solution for managing private libraries of container images within professional-grade infrastructure. It is designed to enable the development of custom registries by extending a base toolkit with specialized libraries and business logic. The registry covers image dist

    Go
    View on GitHub↗10,474
  • projectatomic/skopeoprojectatomic avatar

    projectatomic/skopeo

    11,010View on GitHub↗

    Skopeo is a command line utility for inspecting, copying, and managing OCI and Docker container images across registries and local storage. It functions as a container image tool and registry manager that performs these operations without requiring a background daemon to be running on the host. The tool specializes in daemonless image manipulation, allowing users to retrieve metadata, manifests, and tags from remote registries without pulling the full image locally. It provides capabilities for mirroring external repositories to internal registries for air-gapped deployments and manages the t

    Go
    View on GitHub↗11,010
  • docker/dockerdocker avatar

    docker/docker

    71,736View on GitHub↗

    Docker is an OCI container engine and runtime orchestrator used to build, run, and manage isolated applications. It functions as a container image builder for creating portable snapshots of applications and a registry manager for storing, versioning, and distributing those images across environments. The platform provides a centralized daemon to control the creation, execution, and termination of containerized workloads. It allows for the assembly of modular container systems by combining build tools, registries, and runtimes. Its core capabilities cover container image creation, registry ad

    Go
    View on GitHub↗71,736
See all 30 alternatives to Distribution→