Containers Container registry field-manual-complete field-manual-complete field-manual-complete

Container registry

A container registry is the place where teams keep the container images they build and deploy. In Azure, this usually means Azure Container Registry, a private service that stores repositories, tags, image manifests, Helm charts, and other OCI artifacts. Developers push images after builds, and runtimes such as AKS, Container Apps, App Service, and pipelines pull those images later. The registry is not the application runtime; it is the trusted artifact source between build systems and production infrastructure.

Aliases
ACR, Azure Container Registry
Difficulty
fundamentals
CLI mappings
5
Last verified
2026-05-31

Microsoft Learn

A container registry is a managed repository service for storing and distributing container images and related OCI artifacts. Microsoft Learn describes Azure Container Registry as a private registry that supports repositories, image tags, authentication, geo-replication, build tasks, import, retention, and integration with Azure runtimes.

Microsoft Learn: Introduction to Azure Container Registry2026-05-31

Technical context

In Azure architecture, a container registry sits in the software supply chain and data plane for container artifacts. It connects CI/CD pipelines, managed identities, repository permissions, private endpoints, firewall rules, geo-replication, content trust patterns, retention policies, and runtime image pulls. Azure Container Registry is scoped as an Azure resource, but its repositories and tags are artifact-level objects. The registry often becomes a shared dependency for AKS clusters, Container Apps environments, App Service containers, and disaster recovery plans.

Why it matters

Container registry matters because production container platforms can only run what they can pull and trust. If the registry is public, misconfigured, unavailable, or full of stale vulnerable images, deployment risk moves directly into every cluster and app that depends on it. A well-managed registry gives teams private artifact storage, controlled permissions, immutable digest evidence, regional pull performance, vulnerability workflow integration, and a clean promotion path from build to release. It also gives platform teams one place to enforce naming, retention, scanning, network access, and provenance expectations. Without registry discipline, container estates become hard to secure, audit, and recover. quickly.

Where you see it

Signals, screens, and Azure surfaces where this term usually becomes operational.

Signal 01

In Azure Container Registry, the registry overview shows login server, SKU, repositories, networking, replication, identity, and access settings. during registry reviews and runtime onboarding workshops.

Signal 02

In AKS, Container Apps, and pipeline manifests, image references point to the registry hostname, repository, tag, or digest. during release validation and incident troubleshooting workflows.

Signal 03

In deployment failures, image pull errors often reveal registry authentication, firewall, DNS, tag, or deleted-digest problems. during rollout troubleshooting, autoscale events, and recovery drills too.

When this becomes relevant

Specific situations where this term helps solve real Azure design, operations, migration, security, reliability, cost, or governance problems.

  • Provide a private artifact source for AKS, Container Apps, App Service containers, and release pipelines.
  • Restrict production pulls to approved registries and identities instead of public image sources.
  • Geo-replicate image repositories so regional clusters pull from nearby registry replicas during scale-out.
  • Preserve digest evidence for releases, rollbacks, vulnerability investigations, and compliance reviews.
  • Use retention and repository cleanup to control stale image sprawl and reduce storage waste.

Real-world case studies

Different enterprise-style examples that show the term being used to hit measurable objectives.

Case study 01

Port logistics registry consolidation

A shipping platform reduced image sprawl across regional Kubernetes clusters.

Scenario

A port logistics operator ran containerized scheduling services in three regions. Each region had its own loosely managed image registry, and emergency fixes often failed because clusters pulled different tags with the same name.

Business/Technical Objectives
  • Centralize production image publishing with regional pull performance.
  • Require immutable digest evidence for every release.
  • Reduce registry storage growth by at least 35 percent.
  • Keep rollback images available for 90 days.
Solution Using Container registry

The platform team moved production artifacts into Azure Container Registry with geo-replication near each AKS region. Build pipelines pushed versioned tags and recorded manifest digests in release notes. AKS managed identities received AcrPull, while push permissions were limited to the CI service principal. Retention rules removed unreferenced development tags, but production rollback digests were protected. Azure CLI scripts listed repositories, manifests, role assignments, and replication status during every major release window.

Results & Business Impact
  • Image pull failures during emergency patches dropped from twelve per quarter to one.
  • Registry storage growth fell 42 percent after retention and repository ownership were enforced.
  • Release verification time dropped from 45 minutes to 11 minutes because digests were documented.
  • Regional scale-out improved because clusters pulled from nearby replicas instead of a distant registry.
Key Takeaway for Glossary Readers

A container registry becomes a reliability asset when it stores trusted artifacts close to the runtimes that need them.

Case study 02

Fintech build pipeline hardening

A payment software provider replaced shared registry credentials with identity-based pulls.

Scenario

A payment software provider used shared registry credentials in multiple pipeline variables and cluster secrets. A quarterly audit found that terminated contractors still had access to older secrets copied into nonproduction projects.

Business/Technical Objectives
  • Remove shared registry passwords from runtime configurations.
  • Limit push access to approved build pipelines.
  • Show auditors who can pull and who can push production images.
  • Preserve emergency rollback without reopening broad credentials.
Solution Using Container registry

The engineering team disabled the Azure Container Registry admin user, migrated AKS and Container Apps to managed identities with AcrPull, and scoped push rights to the release pipeline identity. Repository naming separated regulated payment services from internal tools. Azure Policy and CLI checks flagged registries with admin access enabled, while release scripts exported role assignments, image digests, and tag age. Old secrets were retired after every workload proved it could pull through managed identity.

Results & Business Impact
  • Shared registry secrets were removed from 28 runtime environments.
  • Audit evidence collection fell from two weeks to three business days.
  • Unauthorized push paths were reduced from nine identities to two controlled pipeline identities.
  • Rollback drills succeeded using protected digests without restoring shared credentials. Security reviewers could map every production pull to an approved identity within minutes.
Key Takeaway for Glossary Readers

Identity-based registry access turns container artifact security from secret sprawl into reviewable authorization.

Case study 03

Disaster recovery image readiness

A public safety agency needed container images available during regional failover.

Scenario

A public safety agency hosted dispatch modernization services on containers. The disaster recovery plan assumed clusters could restart in a paired region, but the image registry existed only in the primary region and was blocked by private networking rules.

Business/Technical Objectives
  • Prove critical images are available from the recovery region.
  • Reduce regional failover deployment time below 30 minutes.
  • Keep registry access private without breaking recovery pulls.
  • Document image ownership for every dispatch service.
Solution Using Container registry

The agency upgraded its registry design with Azure Container Registry geo-replication, private endpoints in both regions, and private DNS validation from AKS nodes. Critical repositories were tagged with ownership metadata, and release pipelines retained signed-off recovery digests. CLI-based failover drills listed replicas, checked role assignments, and pulled representative images from the recovery cluster before each exercise. Retention policies protected the last three approved dispatch releases.

Results & Business Impact
  • Failover image pull validation improved from manual guessing to a ten-minute scripted check.
  • Recovery deployment time dropped from 68 minutes to 24 minutes.
  • No public registry exposure was required during the DR redesign.
  • Service owners were identified for 100 percent of dispatch repositories. Exercises exposed DNS mistakes before an actual regional emergency occurred live.
Key Takeaway for Glossary Readers

Disaster recovery for containers must include the registry path, not only the cluster and application manifests.

Why use Azure CLI for this?

I use Azure CLI for container registries because registry problems often happen during automated releases, not while someone is browsing the portal. CLI lets me list registries, inspect login servers, check network rules, review repositories, list tags and manifests, assign pull permissions, and collect deployment evidence quickly. In real Azure operations, the common failure is a runtime using the wrong registry, missing AcrPull, pulling a mutable tag, or being blocked by firewall settings. CLI commands expose those facts in a repeatable form that works in pipelines and incident bridges. They also help platform teams verify access before deployments begin safely.

CLI use cases

  • List registries and login servers to build an artifact inventory across subscriptions.
  • Inspect SKU, network rules, private endpoints, admin user state, and replication before onboarding a runtime.
  • List repositories, tags, and manifests to prove which image digest a release used.
  • Assign or verify AcrPull permissions for managed identities used by AKS, Container Apps, or App Service.
  • Delete stale tags only after checking whether active deployments reference the same digest.

Before you run CLI

  • Confirm tenant, subscription, resource group, registry name, and target environment before inspecting or changing artifacts.
  • Know whether the command is read-only, access-changing, destructive, or likely to affect release availability.
  • Verify the operator has registry permissions and does not rely on the admin user except under approved exception.
  • Check whether private endpoint and DNS paths affect where CLI or runtime pull tests should run.
  • Use JSON output for automation and avoid deleting tags without checking manifest digests and live deployments.

What output tells you

  • Registry show output identifies login server, SKU, location, admin state, and network posture.
  • Repository lists show which artifact namespaces exist and whether old projects still leave images behind.
  • Tag and manifest output connect human-readable release labels to immutable digests used by runtimes.
  • Role assignment output proves whether a workload identity can pull images without embedded credentials.
  • Replication and network-rule output explain regional pull behavior and access failures from private runtimes.

Mapped Azure CLI commands

Azure Container Registry operations

direct
az acr list --resource-group <resource-group> --output table
az acrdiscoverContainers
az acr show --name <registry-name> --resource-group <resource-group>
az acrdiscoverContainers
az acr repository list --name <registry-name> --output table
az acr repositorydiscoverContainers
az acr repository show-tags --name <registry-name> --repository <repository-name> --detail
az acr repositorydiscoverContainers
az role assignment list --scope <registry-resource-id> --output table
az role assignmentdiscoverContainers

Architecture context

Architecturally, a container registry is the artifact hub between source control and runtime. I treat it as a production dependency, not a developer convenience. The design should define who can push, who can pull, which identities are used by AKS or Container Apps, which networks can reach the registry, how images are promoted between environments, and how old artifacts are retained or deleted. Geo-replication may be needed for multi-region clusters, while private endpoints may be required for regulated workloads. The registry also anchors evidence for digest pinning, vulnerability response, and rollback. That evidence matters when incidents cross build, registry, and runtime teams.

Security

Security for a container registry is supply-chain security. Access should use Microsoft Entra roles, managed identities, repository-scoped permissions where appropriate, private endpoints, firewall rules, and disabled admin users unless there is a controlled exception. Operators should protect push rights more tightly than pull rights because a malicious image can become production code. Image scanning, base-image patching, retention hygiene, content trust practices, and digest-based deployments reduce risk. Secrets must not be baked into images. Activity logs and repository events should show who pushed, deleted, imported, or changed network exposure around the registry. Review those events during every sensitive release or credential rotation.

Cost

Cost comes from registry SKU, stored image layers, geo-replication, build tasks, network transfer, and operational cleanup effort. Premium capabilities such as private endpoints, geo-replication, and higher throughput may be required for production reliability or security, but they should be justified by workload needs. Duplicate images, unbounded tags, build cache residue, and old release branches can expand storage quietly. Cross-region pulls may add latency and bandwidth cost. FinOps reviews should track registry size, repository growth, retention policy effectiveness, regional replication, and whether every registry still has active consumers. Tie cleanup work to owners so savings do not create rollback risk later.

Reliability

Reliability depends on the registry being reachable when workloads deploy, scale, restart, or recover. A cluster can be healthy yet fail new pods if it cannot pull images. Good designs use regional placement, geo-replication for distributed runtimes, private DNS validation, retention policies that do not delete active digests, and rollback images that remain available. Operators should test image pulls from each runtime network path and monitor failed pulls, authentication errors, and throttling. Registry outages or firewall mistakes can widen blast radius across many workloads, so critical images should have documented recovery and replication plans. Otherwise a restart can become an unexpected production outage.

Performance

Performance is mostly about image pull speed and release throughput. Large images, distant registries, poor layer reuse, private endpoint DNS issues, or overloaded build pipelines can slow deployments and autoscaling. Premium SKU and geo-replication can improve pull performance for regional clusters, while image slimming and layer ordering reduce transfer time. Operators should watch failed pulls, pull latency, node cold-start behavior, and release duration. A registry does not make application code faster after it starts, but it strongly affects how quickly new pods, revisions, or containerized apps can launch during scale-out or recovery. That launch speed matters most during failure recovery and burst scaling.

Operations

Operations teams manage container registries through inventory, repository cleanup, access review, tag and digest inspection, vulnerability follow-up, network-rule validation, and release evidence. They confirm which applications pull from each registry, which identities have AcrPull or push rights, and which repositories are still active. During incidents, they check login server, DNS, firewall, private endpoint, role assignments, image tags, and manifest digests. During migrations, they import images, update runtime references, and verify pull tests. Runbooks should state naming conventions, retention rules, emergency restore steps, and ownership for repository deletion or quarantine decisions. This avoids accidental deletion of artifacts still needed for recovery.

Common mistakes

  • Leaving the admin user enabled and sharing registry credentials across pipelines and runtime platforms.
  • Deploying mutable latest tags without recording the immutable digest used in production.
  • Deleting old tags without confirming whether a running workload still references the underlying digest.
  • Placing a registry in one region while globally distributed clusters all pull large images across regions.
  • Opening public network access because private endpoint DNS was not validated from build agents or clusters.