Best for GitHub-hosted repos with Actions CI/CD
Try GitHub Container RegistryGitHub Container Registry (GHCR, ghcr.io) is bundled into GitHub plans and unlimited free for public images. For private images, storage and bandwidth count against your GitHub plan's package quota: 500MB on Free, 2GB on Team, with $0.25 per GB-month above included. Native OIDC token-based push from GitHub Actions removes the secret-management friction Docker Hub access tokens introduce. For teams whose code lives in GitHub and CI runs in Actions, GHCR is the path of least friction.
Strengths
- +Free unlimited public images
- +Native GitHub Actions OIDC token auth
- +Bundled into GitHub plans (no separate billing)
- +Tight integration with GitHub repos and dependency graph
Trade-offs
- −500MB private storage on Free is small
- −$0.25 per GB-month above quota for private images
- −Best fit only for GitHub-hosted repos
- Public
- Free unlimited storage + bandwidth
- Private (Free plan)
- 500MB included
- Above quota
- $0.25/GB storage + $0.50/GB egress
- Auth
- OIDC tokens via Actions
Migration steps
- Push your image to ghcr.io/owner/image with the GITHUB_TOKEN.
- Update Kubernetes/ECS/Docker Compose to pull from ghcr.io.
- Configure image visibility (public or private) in GitHub.
- Cancel Docker Hub Pro/Team if no longer needed.
Not for: GHCR is the wrong fit for teams not on GitHub or those needing the broadest public-image discoverability; Docker Hub fits that better.