Container Registries: Where to Store Your Docker Images
Container registries store and distribute Docker images. Learn when to use Docker Hub, GitHub Container Registry, or host your own.
What Is a Container Registry?
A container registry stores container images and serves them when you run docker pull or podman pull. It's like npm for containers.
Public Registries
Docker Hub
The default registry. Largest collection of images. Free for public images, paid for private.
GitHub Container Registry (ghcr.io)
Integrated with GitHub. Free for public repos.
Quay.io (Red Hat)
Red Hat's registry. Good for enterprise.
Self-Hosted Registries
Harbor
Full-featured registry with vulnerability scanning, RBAC, replication.
Docker Registry
Minimal, official registry. Just stores and serves images.
Gitea Container Registry
If you self-host Gitea for git, it includes a container registry.
When to Self-Host Your Registry
When NOT to Self-Host
Registry Best Practices
Tag Images Properly
Use semantic versioning, not just :latest. You need to know what version is running.
Clean Up Old Images
Registries grow fast. Set retention policies to delete images older than N days.
Scan for Vulnerabilities
Use Trivy, Snyk, or Harbor's built-in scanning to check images for known CVEs.
TinyPod pulls images from any registry. Use Docker Hub for open-source apps and your own registry for custom images.