azurerm_ container_ registry cost estimation
A managed Docker container registry. Three tiers (Basic, Standard, Premium) with different per-day rates and included storage.
An azurerm_
Three tiers:
Basic: $0.167/day ($5.08/month). Includes 10 GB storage. Right for dev/test or small workloads. Limited to 2 simultaneous pulls per second.
Standard: $0.667/day ($20.30/month). Includes 100 GB storage. Right for production. 10 simultaneous pulls/sec, higher push/pull throughput.
Premium: $1.667/day ($50.74/month). Includes 500 GB storage. Right for large enterprises. Geo-replication (only available on Premium), content trust, private endpoints, customer-managed keys.
Storage beyond the included allotment: $0.10/GB-month extra.
Geo-replication (Premium only): adds the full per-day rate per replica region. A Premium registry replicated to 3 regions costs $50.74 × 4 = ~$203/month.
Build minutes (ACR Tasks): build operations cost $0.0001/CPU-second for standard runners, $0.0003/CPU-second for GPU runners. Most modern image builds use a few hundred CPU-seconds, costing pennies per build.
Compared to ECR: ECR is purely per-GB plus egress. ACR is a fixed daily rate plus overage. For small registries, ACR Basic is cheaper than ECR. For large registries, ECR's per-GB model can be cheaper than ACR Premium.
c3x reads the SKU (Basic/Standard/Premium) and georeplications. Storage above the included allotment uses c3x-usage.yml for the actual size.
Terraform example
A minimal but realistic configuration that C3X can estimate.
resource "azurerm_container_registry" "main" {
name = "productionregistry"
resource_group_name = azurerm_resource_group.main.name
location = "eastus"
sku = "Standard"
admin_enabled = false
identity {
type = "SystemAssigned"
}
retention_policy_in_days = 7
}Pricing dimensions
What you actually pay for when you provision azurerm_.
| Dimension | Unit | What's being charged |
|---|---|---|
| Basic tier | per day | 10 GB included storage. Right for dev/test. $0.167/day ≈ $5.08/month |
| Standard tier | per day | 100 GB included storage. Production default. $0.667/day ≈ $20.30/month |
| Premium tier | per day | 500 GB included storage, geo-replication, content trust, private endpoints. $1.667/day ≈ $50.74/month |
| Storage overage | per GB-month | Storage beyond included allotment. $0.10/GB-month |
| Geo-replication (Premium) | per region per day | Each replica region adds the full per-day rate. $1.667/region/day |
| ACR Tasks (build runner) | per CPU-second | Image build operations. Standard runner $0.0001/CPU-sec; GPU $0.0003/CPU-sec. |
Optimization tips
Common ways to reduce azurerm_ cost without changing the workload.
Pick the right tier for actual storage
Up to $15/month per tier reducedIf you use <10 GB total, Basic ($5/month) is cheaper than Standard ($20/month). For most teams with active CI, Standard's 100 GB allotment covers years of image history.
Skip Premium unless you need geo-replication
$30/month per non-PremiumPremium is 2.5x Standard's cost. Only justified if you need geo-replication, customer-managed keys, private endpoints, or content trust.
Set retention policies to expire old images
Storage overage avoidedWithout retention, every CI build accumulates images forever. Setting retention_
Use multi-stage Dockerfiles
Storage costSmaller images mean less storage and faster pulls. Multi-stage builds drop dev dependencies and shrink images by 50-80%.
Build outside ACR for low-volume workloads
Build-volume dependentACR Tasks is convenient but builds on a self-hosted GitHub Actions runner or Azure DevOps agent can be cheaper for small teams already paying for those minutes.
FAQ
ACR or self-hosted Docker Registry?
ACR is right for any team running Azure workloads: integration with AKS, Azure DevOps, managed identities. Self-hosted Docker Registry on a VM can be cheaper but adds operational burden (TLS, auth, storage management, replication). Most teams find ACR worth the per-month cost.
How does c3x include geo-replication?
c3x reads the georeplications block on the resource and multiplies the Premium per-day rate by (1 + number of replica regions). The primary region is included in the base rate; each replica adds the full rate.
Does ACR pricing include bandwidth?
Pulls and pushes to/from within the same Azure region are free. Cross-region or internet bandwidth incurs standard Azure egress charges, separate from ACR.
What about ACR Tasks Quick Build?
ACR Quick Build (a one-off build via az acr build) bills the same as Tasks: per CPU-second. Convenient but watch volume; running quick builds in CI can add up.
Related resources
More Azure resources
Further reading
Estimate this resource in your own Terraform
Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including azurerm_.