Container Repositories

Dist provides private container registries that are compatible with the Docker/Open Container Initiative (OCI) Registry HTTP API V2 specification (with some limitations).

Each Dist container repository can hold an unlimited number of images (with different image names). You do not need to create a repository for each image and instead just push your images to the appropriate repository.

Dist container repositories are much like what other container registries call a namespace without the need to create a new repository for each image you wish to store within the namespace.

Tip

The Dist web interface provides contextual usage documentation within each repository.

Image formats

Dist supports the following container image formats:

Image deletion

Dist currently does not support deletion of images from your repositories. Image deletion can lead to unexpected build or deployment failures that can be difficult or even impossible to for you to recover from.

Ideally your container images should be immutable once pushed to avoid any potential for these build or deployment failures. However, we realise that it may sometimes be necessary to delete container images either explicitly or as a part of lifecycle and will support this feature in the future when we can do so in a safe and user-friendly manner.

We would greatly appreciate any feedback you have regarding deletion support.

Current limitations

Dist currently does not support the following container registry API features but support is planned:

  • GET Tags (GET /v2/<name>/tags/list).
  • DELETE Manifest (DELETE /v2/<name>/manifests/<reference>): Depends on image deletion support.
  • DELETE Blob (DELETE /v2/<name>/blobs/<digest>): Depends on image deletion support.
  • Mount Blob (POST /v2/<name>/blobs/uploads/?mount=<digest>&from=<repository name>): We currently do not implement this optimization and fall back to a regular upload.
  • Resumable push/chunked upload: We will return a 400 Bad Request error if more than a single chunk is received. We are not aware of any tools that use this feature at present.

Dist currently does not intend to support the following optional container registry API features:

  • GET Catalog (GET /v2/_catalog): We provide a web interface and GraphQL API (coming soon) that provide an improved user experience when compared to the catalog endpoint.

Dist currently does not support the following Docker Image Manifest Version 2, Schema 2 and OCI Image Manifest features:

  • urls on config and layers descriptors: Due to potential security and privacy concerns manifests that include urls on descriptors will be rejected with a 400 Bad Request HTTP status code and a MANIFEST_INVALID error body.

We appreciate any feedback regarding these current limitations.

Service quotas

Note

The following service quotas apply during our open beta. We intend to increase or eliminate many of these quotas in the future. If you have an immediate need for a quota increase please let us know.

Resource Default Quota
Maximum number of repositories (of any kind) 100
Maximum layer size 1 GiB