Container Registry billing and metering
Container registry usage is metered on two dimensions: stored image data and data transfer for push and pull operations. Understanding both helps you estimate cost and design retention policies.
Storage metering
Registry storage is metered per namespace based on total stored size (gigabytes). Usage records are updated periodically from the regional registry backend and billed as gigabyte-hours across your namespaces.
Namespace and repository management through the API is not separately metered.
What counts toward storage
Stored size includes all artifacts (image manifests and layers) retained in a namespace, regardless of how many tags reference them. Untagged artifacts also consume storage until removed.
Reducing storage costs
| Action | Effect |
|---|---|
| Delete tags | Removes tag references; underlying artifacts may remain if other tags exist |
| Run retention policies | Automatically deletes old tags and optionally untagged artifacts |
| Delete repositories | Removes the repository and all tags and artifacts |
| Delete namespace | Ends usage metering for that namespace; storage cleaned up asynchronously |
See Namespace configuration for retention policy setup.
Data transfer metering
Pull and push operations are metered per GB of data transferred. Transfer charges apply to image layer uploads (push) and downloads (pull) through the regional registry endpoint.
Cost optimisation tips
- Configure retention policies to automatically prune old tags and untagged artifacts
- Delete unused repositories when images are no longer needed
- Use digest pinning in production but clean up superseded tags after rollout
- Delete namespaces you no longer use to stop storage metering immediately
Related documentation
- Namespace configuration — Retention policies and visibility
- Repositories — Delete repositories and artifacts
- Limits and behaviour — Regional and naming constraints