Docker Registry

Private registry of container images, compatible with the standard Docker and OCI protocols.

Version:

3.0.0

back to Marketplace

VM Requisites

Resource Minimum
CPU 2 vCPU
RAM 4 GB
Disk 40 GB
Operating System Ubuntu 22.04 / 24.04

Access Port

Port Protocol Usage
80 HTTP Registry API (image push/pull)

How To Access

Tag and upload an image

# Tag a local image pointing to the registry
docker tag <imagen>:<tag> <IP_DE_LA_VM>/<imagen>:<tag>

# Upload image
  docker push <IP_DE_LA_VM>/<imagen>:<tag>

Download an image

docker pull <IP_DE_LA_VM>/<imagen>:<tag>

Complete example

docker tag mi-app:latest 200.25.101.125/mi-app:latest
docker push 200.25.101.125/mi-app:latest
docker pull 200.25.101.125/mi-app:latest

⚠️ HTTP Registry (insecure): By default, the registry runs over HTTP. Docker requires configuring the IP address as insecure-registry on the client to operate without TLS.

Configure insecure-registry on the Docker client

Add your VM's IP address to /etc/docker/daemon.json on the machine that will be doing the push/pull:

{
  "insecure-registries": ["<IP_DE_LA_VM>"]
}

Then restart Docker:

sudo systemctl restart docker

Verify that the Registry is Active

# View the registry pod
kubectl get pods -A | grep docker-registry

# View the image catalog via API
curl http://<IP_DE_LA_VM>/v2/_catalog

# View installation log
  tail -f /var/log/cuemby/bootstrap.log

Expected response from the catalog:

{"repositories": []}

Configuration Parameters

Parameter Default Description
REGISTRY_HTTP_SECRET ⚠️ auto-generated Key to sign registry status tokens. Cuemby generates it automatically.
REGISTRY_DATA_SIZE 20Gi Persistent volume size for storing images.

First Steps (quick start)

# Verify that the registry is responding
curl http://<IP_DE_LA_VM>/v2/

# List stored images
  curl http://<IP_DE_LA_VM>/v2/_catalog

# View tags of a specific image
    curl http://<IP_DE_LA_VM>/v2/<imagen>/tags/list

Expected response from /v2/:

{}

💡 Tip: You can use this registry as an image source directly in k3s. Configure mirrors in /etc/rancher/k3s/registries.yaml so that the nodes resolve images from your private registry.

Quick Troubleshooting

Problem Probable cause Solution
http: server gave HTTP response to HTTPS client Registry not configured as insecure Add the IP to insecure-registries in daemon.json and restart Docker.
connection refused Pod still starting Wait ~3 min and check tail -f /var/log/cuemby/bootstrap.log.
no space left on device Full data volume Increase REGISTRY_DATA_SIZE or clear unused images.
Pod in CrashLoopBackOff Insufficient resources Check with kubectl describe pod -n .

Cuemby Cloud

IaaS

About Cuemby Cloud

Cuemby Cloud is enterprise-grade cloud infrastructure managed from a single console, built for stronger security, predictable operations, and easy scaling across regions.

Datacenters regions available in Colombia, Ecuador, and Chile

Backed by Tier III / Tier IV data center locations

Zero Network Ingress and Egress Fees

24/7 local expert support

Ready to Modernize Your Enterprise?

Future challenges demand future-ready solutions.
Let’s get started!

© Copyright | Cuemby® 2025