Skip to content

Getting started with Container Registry

This guide walks you through creating your first container registry namespace, authenticating with Docker, and pushing an image.

Prerequisites

RequirementNotes
containerRegistry feature gateMust be enabled on your organisation; contact your account team if not
IAM or credential accessPermissions to create namespaces and push images, or an access credential with registry scopes
Docker or OCI clientDocker, Podman, or crane installed locally

Step 1: Create a namespace

Create a namespace in the cloud region closest to your workloads. Use the console or the API at /v1/container-registries.

FieldNotes
RegionRequired — determines registry hostname and data locality
NamespaceRequired — lowercase ASCII, no spaces, max 255 characters (for example acme-platform)
DescriptionOptional

The namespace name cannot be changed after creation. Note the registry hostname shown on the namespace detail page — you need it for tagging and pushing images.

For organisation vs project scoping, see Concepts.

Step 2: Authenticate

Log in with Docker (or any OCI client) using an access credential or service account token that includes container registry scopes.

docker login registry.nl-01.thalassa.cloud \
  -u <access-credential-key> \
  -p <access-credential-secret>

Replace registry.nl-01.thalassa.cloud with the hostname for your namespace’s region.

Authentication uses the platform’s Docker Registry token endpoint. Credentials must include one of:

ScopeAccess
containerRegistryPush and pull
containerRegistry:allPush and pull
containerRegistry:pullPull only

User sessions and IAM policies can also grant push and pull permissions — see Access control.

For CI/CD credential patterns, see CI/CD.

Step 3: Tag and push an image

Tag your local image with the full registry path:

docker tag my-app:local \
  registry.nl-01.thalassa.cloud/acme-platform/my-app:v1.0.0

Push the image:

docker push registry.nl-01.thalassa.cloud/acme-platform/my-app:v1.0.0

The repository my-app is created automatically on first push. Verify the image in the console or via the API.

Image address format

{registry-host}/{namespace}/{repository}:{tag}

Step 4: Pull the image

Confirm you can pull the image you pushed:

docker pull registry.nl-01.thalassa.cloud/acme-platform/my-app:v1.0.0

What’s next