How to Create a Container Registry

Validated on 27 Apr 2020 • Last edited on 13 Jun 2025

The DigitalOcean Container Registry (DOCR) is a private Docker image registry that lets you store and manage private container images. DOCR integrates natively with Docker environments and DigitalOcean Kubernetes clusters.

You can create a new container registry using the control panel, API, or CLI. It requires a name, datacenter region, and subscription plan.

After creating a registry, you can configure it to push and pull from Docker and DigitalOcean Kubernetes.

Create a Container Registry Using the Control Panel

To create a container registry from the DigitalOcean Control Panel, in the left menu, click Container Registry. Then, click the Create a Container Registry button to go to the Create a container registry page.

Choose a Subscription Plan

Choose from the Starter, Basic, or Professional subscription plan. For more details on the different plans, see the pricing page.

The plan selection menu

Choose a Datacenter Region

Use the drop-down menu to select your registry’s datacenter region. For the best performance, we recommend you select a region close to your other DigitalOcean resources.

The datacenter drop-down menu

Name Your Container Registry

Enter a custom name for your container registry. Names must be unique, be between 3 and 63 characters long, and only contain alphanumeric characters and dashes. You cannot change a registry’s name after creation.

The name selection text box

Create Registry

Create the registry by clicking Create Registry.

Once your registry is created, the Repositories tab opens where you can view registry information such as stored images and monitor unused data.

After creation, you can change the subscription plan of an existing registry. For example, you can change the plan from the Starter plan to the Professional plan, which allows you to create additional registries. To do this, from the control panel, in the left menu, click Container Registry. On the Container Registries page, in the Plan details section, click Edit plan. After you select the subscription plan, click Update plan.

Create Additional Container Registries Using the Control Panel public

With the Professional subscription plan, you can create additional container registries. From the DigitalOcean Control Panel, in the left menu, click Container Registry. On the Container Registries page, click the Create Registry button.

Create additional registry

If your existing registry is already on the Professional subscription plan, specify a region and name for your registry, and then click Create Registry to create an additional registry.

If your current registry is not on the Professional subscription plan, you need to upgrade to the Professional plan. Then, specify a region and name for your registry, and click Create Registry.

Note
Before you can downgrade the plan, you need to delete the additional registries.
Upgrade plan for multiple registry

Create Container Registry Using the API

How to Create a Container Registry Using the DigitalOcean API
  1. Create a personal access token and save it for use with the API.
  2. Send a POST request to https://api.digitalocean.com/v2/registry.

cURL

Using cURL:

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
  -d '{"name": "example", "subscription_tier_slug": "basic", "region": "fra1"}' \
  "https://api.digitalocean.com/v2/registry"

Python

Using PyDo, the official DigitalOcean API client for Python:

import os
from pydo import Client

client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))

req = {
  "name": "example",
  "subscription_tier_slug": "basic",
  "region": "fra1"
}

resp = client.registry.create(body=req)

If your container registry uses the Professional subscription plan, you can use the API to create up to nine additional registries (for a total maximum of 10). This feature is in public preview.

How to Create Additional Registries Using the DigitalOcean API
  1. Create a personal access token and save it for use with the API.
  2. Send a POST request to https://api.digitalocean.com/v2/registries.

cURL

Using cURL:

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
  -d '{"name": "example", "region": "fra1"}' \
  "https://api.digitalocean.com/v2/registries"

Python

Using PyDo, the official DigitalOcean API client for Python:

import os
from pydo import Client

client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))

req = {
  "name": "example",
  "region": "fra1"
}

resp = client.registries.create(body=req)

Create a Container Registry Using the CLI

How to Create a Container Registry Using the DigitalOcean CLI
  1. Install doctl, the official DigitalOcean CLI.
  2. Create a personal access token and save it for use with doctl.
  3. Use the token to grant doctl access to your DigitalOcean account.
    doctl auth init
  4. Finally, run doctl registry create. Basic usage looks like this, but you can read the usage docs for more details:
    doctl registry create <registry-name> [flags]
    The following example creates a registry named example-registry in the NYC3 region:
    doctl registry create example-registry --region=nyc3

We can't find any results for your search.

Try using different keywords or simplifying your search terms.