Private Docker Registry
Host private container images and OCI artifacts on the standard Docker Registry HTTP API V2. A generous transfer allowance is included, with the same predictable pricing as every other repository you keep with us.
echo "$CLOUDREPO_TOKEN" | docker login your-org.mycloudrepo.io --username you@example.com --password-stdin
docker tag my-app:1.0.0 your-org.mycloudrepo.io/repositories/your-repo/my-app:1.0.0
docker push your-org.mycloudrepo.io/repositories/your-repo/my-app:1.0.0 What you get
A private Docker registry your tools already know, at a price you know before CI runs.
- Standard Registry HTTP API V2
- docker, podman, nerdctl, Buildah, Kaniko and Skopeo all connect with nothing beyond a docker login. No plugin, no proprietary client.
- Repository Tokens, Not Portal Passwords
- Sign in with a token scoped to the repositories you pick. Revoke it any time without touching anyone’s password.
- Helm Charts in the Same Repository
- Helm 3 stores charts as OCI artifacts, so your charts sit beside your images in the same repository, reached the same way. Nothing extra to enable.
- Group Repositories
- Give a team one registry address that resolves across several repositories in a priority order you set. Each member keeps its own permissions.
- Public or Private, Per Repository
- Mark a repository public for anonymous pulls, or keep it private so every read and write is gated and isolated to your organization.
Quick Setup Guide
Four steps from a fresh repository to an image your team can pull.
Create a Generic repository token
In the admin portal, open Repository Tokens and create one in the Generic format. Choose the repositories it may reach. The value is shown once.
# Admin portal -> Repository Tokens -> Create token
# Format: Generic Log in to the host
docker login takes the host and nothing more. The user name can be any value; the token you paste at the prompt is what counts. Your portal password is refused at the registry, owner or not.
docker login your-org.mycloudrepo.io Tag and push
The image reference carries a literal repositories/ segment, the same segment your Maven, npm and PyPI repositories are addressed under.
docker tag my-app:1.0.0 your-org.mycloudrepo.io/repositories/your-repo/my-app:1.0.0
docker push your-org.mycloudrepo.io/repositories/your-repo/my-app:1.0.0 Pull from anywhere
Same reference, same sign-in. Public repositories serve anonymous pulls; private ones require the login above.
docker pull your-org.mycloudrepo.io/repositories/your-repo/my-app:1.0.0 The one thing worth reading twice
docker login takes the host on its own. The image reference
is what carries
/repositories/your-repo/. Docker keeps one credential
per host and quietly drops any path you type at login, so adding the repository there still reports
Login Succeeded and gives you no hint it was discarded. Log in to the host; let the reference carry the
repository.
One Registry, Beyond the Basics
The same repository serves your images, your charts, and a team-wide address that spans several repositories.
Group Repositories
Point developers at one address and resolve it across several repositories in a priority order you set. A group holds no storage of its own, so it is read-only: push to the member repository and the image appears through the group at once. Permissions still apply per member, so a group never widens access.
# A group is addressed like any repository
docker pull your-org.mycloudrepo.io/repositories/team-registry/my-app:1.0.0 Helm Charts over OCI
There is no separate Helm repository type and no
index.yaml to maintain. Push charts to a Docker repository
over
oci://. The push URL ends at the repository,
because Helm appends the chart name and version itself.
helm push my-chart-0.1.0.tgz \
oci://your-org.mycloudrepo.io/repositories/your-repo Full walkthroughs, the CI/CD recipe, and the token model are in the Docker documentation.
Sizing up registries? See the JFrog alternative comparison, and the Sonatype Nexus alternative breakdown.
Every plan includes human support and SSO. See pricing
Moving Docker images from Nexus or Artifactory?
Install the migration tool with one line. Run it with --dry-run first: a dry
run lists what would move and uploads nothing.
pipx install cloudrepo-migrate
No pipx? In a virtual environment, run pip install cloudrepo-migrate.
Follow the guide for your server
Ready to host your container images?
Start your 14-day free trial. No credit card required.