Containers Azure Container Registry premium

ACR import

ACR import is a server-side image copy. Instead of pulling an image to your machine and pushing it back, Azure copies it into your registry directly. It is useful for migration, mirroring, controlled base images, and pipeline cleanup.

Aliases
ACR
Difficulty
intermediate
CLI mappings
5
Last verified
2026-05-06

Microsoft Learn

Azure Container Registry import copies container images or OCI artifacts into an Azure container registry from another registry without requiring a local Docker pull and push. The server-side import can copy by tag or digest from public or accessible private registries.

Microsoft Learn: Import container images to a container registry2026-05-06

Technical context

Technically, ACR import operates inside a larger Azure control surface rather than as an isolated option. It belongs to registry content movement and supply-chain operations, touching source registry access, target registry permissions, repository naming, tags, manifest lists, source credentials, private endpoint or firewall behavior, trusted services bypass, and cross-tenant limitations. That means the term can affect identities, resource state, artifact availability, storage behavior, deployment timing, cost allocation, or supportability depending on the scenario. The minimum technical review is to locate the resource or identity, confirm the tenant and subscription context, inspect the precise JSON fields, and compare the observed state with the architecture decision. Useful evidence includes source registry URI, target registry, target image name, tag or digest, source credentials or Entra roles, target repository, manifest metadata, multi-architecture manifest count, network restrictions, trusted services setting, and imported digest. If the CLI output is incomplete, switch from table output to JSON and use targeted JMESPath queries so nested fields are not hidden. The technical mistake is to assume a successful command proves the design is correct. A command only proves Azure accepted or returned a request; the engineer still has to interpret whether the result matches policy, ownership, lifecycle, and incident-recovery expectations.

Why it matters

ACR import matters because it turns an Azure architecture decision into behavior that real users, services, storage clients, deployment systems, or container workloads experience. It is also a place where small assumptions create expensive incidents. The direct risk is that an import can copy the wrong tag, mask source provenance, fail behind network restrictions, pull from a mutable upstream image, exceed manifest limits, or place unapproved base images into a production registry where deployment systems trust them. The less obvious risk is operational drift: someone makes a one-time exception, stores a token, changes an image tag, enables a convenience credential, or chooses a cheaper tier, and months later nobody remembers why production behaves differently. A useful glossary entry has to teach the decision path, not merely the product label. For ACR import, teams should be able to describe the owner, the approval path, the safe default, the rollback path, the monitoring signal, and the command output that proves the final state. That is what keeps a learning page useful in a real Azure environment.

Where you see it

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

Signal 01

You see ACR import in image promotion workflows, base image mirroring, air-gapped or restricted registry planning, multi-architecture image movement, repository verification, supply-chain reviews. In those places, the term is usually attached to a real decision about access, data movement, image availability, artifact identity, storage cost, or operational proof rather than just documentation language.

Signal 02

You also see it in incident tickets and architecture reviews where someone needs to explain why behavior changed. The evidence usually includes source registry URI, target registry, target image name, tag or digest, source credentials or Entra roles, target repository, manifest metadata, multi-architecture manifest count, network restrictions, trusted services setting, and imported digest, plus the tenant, subscription, resource group, and owner responsible for the decision.

Signal 03

Learners meet ACR import when they move from portal recognition to command-line evidence. The goal is to read output fields like source, image, digest, tags, createdTime, networkRuleSet, trusted services and turn them into a safe next action.

When this becomes relevant

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

  • Use ACR import when planning copying approved base images and you need the decision to survive outside one person's memory. The review should name the owner, scope, expected behavior, and verification command.
  • Use it during troubleshooting when the visible symptom could be caused by access drift, storage tier behavior, registry content state, image identity, token scope, or delayed replication instead of a bad application release.
  • Use it in automation gates where a pipeline should stop until the evidence proves the target is correct. This is especially important when the command can change security, cost, availability, or deployable artifacts.
  • Use it in learner exercises to practice reading Azure output as evidence. The student should explain source, image, digest, tags, createdTime, networkRuleSet, trusted services, not merely repeat the portal label or one-line definition.

Real-world case studies

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

Case study 01

ACR import in action

Scenario, objectives, solution, measured impact, and takeaway.

Scenario

Finch Robotics depended on public base images for manufacturing workloads, but public pulls caused rate-limit risk and weakened supply-chain control.

Business/Technical Objectives
  • Bring approved external images into a private Azure Container Registry.
  • Reduce dependency on public registry availability during builds.
  • Scan and govern images before production use.
  • Preserve image provenance and digest references.
Solution Using ACR import

The container platform team used ACR import to copy approved base images from public and partner registries into its private Azure Container Registry without routing the image through local developer machines. Imported images were tagged with source, version, and approval metadata, then scanned and locked for production use. Build pipelines referenced the private ACR image path instead of the public registry. The team tracked source digests and import timestamps so security could trace exactly which external artifact entered the internal supply chain.

They also documented the owner, approval path, validation query, rollback contact, and expected evidence in the release runbook so future operators could repeat the workflow without guessing or reopening the original design debate.

Results & Business Impact
  • Public registry pull failures during builds dropped to zero.
  • Base-image approval time decreased by 35% through standardized import records.
  • Supply-chain review found complete source digest evidence for all production images.
  • Build consistency improved because pipelines used controlled private images.
Key Takeaway for Glossary Readers

ACR import helps teams bring external container artifacts into a governed private registry without turning every build into a public-registry dependency.

Case study 02

ACR import in action

Scenario, objectives, solution, measured impact, and takeaway.

Scenario

FjordPay, a financial technology company, was preparing a production governance cleanup when teams found that ACR import was being handled differently across subscriptions and environments.

Business/Technical Objectives
  • Improve container supply-chain control.
  • Reduce deployment failures related to images or registry access.
  • Make image promotion traceable by digest or identity.
  • Keep registry operations aligned with security policy.
Solution Using ACR import

The cloud architecture team made ACR import a named checkpoint in the release process instead of an informal setting. They configured Azure Container Registry with Microsoft Entra permissions, private registry workflows, image digests, build or import automation, replication behavior, and diagnostic logs for image lifecycle evidence. The runbook captured tenant, subscription, resource group or management group scope, required permissions, expected output, exception process, and rollback owner. Pipeline gates and change approvals stopped the rollout until the evidence matched the architecture decision, while operators saved sanitized screenshots or JSON output for later review.

Results & Business Impact
  • Image pull and promotion failures dropped by 66% after registry workflows were standardized.
  • Untraceable image updates were eliminated by storing digest and identity evidence.
  • Security review time fell by 31% because each release had registry proof.
  • Pipeline secret exposure risk decreased after shared credentials were removed.
Key Takeaway for Glossary Readers

ACR import becomes valuable when teams can show where it is configured, who owns it, and what evidence proves it worked.

Case study 03

ACR import in action

Scenario, objectives, solution, measured impact, and takeaway.

Scenario

MarbleStone Insurance, a insurance carrier, needed to reduce recurring Azure incidents during a incident-reduction initiative, and the common weak spot was unclear ownership of ACR import.

Business/Technical Objectives
  • Improve container supply-chain control.
  • Reduce deployment failures related to images or registry access.
  • Make image promotion traceable by digest or identity.
  • Keep registry operations aligned with security policy.
Solution Using ACR import

The operations team redesigned the runbook around ACR import so every change had a scope, owner, validation path, and rollback decision. They configured Azure Container Registry with Microsoft Entra permissions, private registry workflows, image digests, build or import automation, replication behavior, and diagnostic logs for image lifecycle evidence. The runbook captured tenant, subscription, resource group or management group scope, required permissions, expected output, exception process, and rollback owner. Pipeline gates and change approvals stopped the rollout until the evidence matched the architecture decision, while operators saved sanitized screenshots or JSON output for later review.

Results & Business Impact
  • Image pull and promotion failures dropped by 66% after registry workflows were standardized.
  • Untraceable image updates were eliminated by storing digest and identity evidence.
  • Security review time fell by 31% because each release had registry proof.
  • Pipeline secret exposure risk decreased after shared credentials were removed.
Key Takeaway for Glossary Readers

ACR import is more than vocabulary; it is a practical operating handle for safer Azure design and support.

Why use Azure CLI for this?

CLI rationale for ACR import: commands give repeatable evidence, but they do not remove judgment. Azure CLI is direct for import and verification, and it is especially valuable because operators can pin by digest, inspect manifest metadata, and verify target repository tags after the copy finishes. Start with read-only inspection, confirm the active tenant and subscription, and prefer JSON output over table output when nested policy, identity, token, manifest, or storage fields matter. The first useful command in this batch is `az acr import --name <target-registry> --source docker.io/library/hello-world:latest --image hello-world:latest`, but it should be read as part of a workflow rather than a magic fix. The workflow is discover the target, inspect the state, compare it with the design, decide whether the next command is read-only or mutating, run the smallest safe command, and verify the result. If a command returns credentials, SAS tokens, registry passwords, or sensitive object IDs, treat the terminal output as secret evidence.

CLI use cases

  • Collect read-only evidence for ACR import before a production change. The operator should be able to show the tenant, subscription, target name, important fields, and why the current state is or is not acceptable.
  • Automate a small, repeatable verification around ACR import in a deployment, access review, registry promotion, or storage lifecycle workflow so the pipeline catches drift before users or workloads do.
  • Troubleshoot a failure by comparing actual output fields such as source, image, digest, tags, createdTime, networkRuleSet, trusted services with the expected architecture. This avoids guessing from error text or portal memory.
  • Create sanitized audit evidence after an approved change. Store identifiers, state fields, run IDs, tags, digests, or policy status, but do not store secrets, SAS tokens, registry passwords, or raw credential output.

Before you run CLI

  • Confirm the Azure account context with `az account show`, including tenant, subscription, and signed-in identity. Many ACR import mistakes are really wrong-context mistakes, especially in tenants with multiple subscriptions or environments.
  • Identify the exact target and owner before running a command. For ACR import, that means knowing which identity, resource, storage account, registry, repository, image, blob, policy, or assignment is in scope.
  • Classify the next command. Read-only commands are evidence gathering; mutating commands can change security, cost, availability, artifact visibility, storage behavior, or lifecycle state and need approval.
  • Decide how secrets and sensitive output will be handled. If the workflow can expose account keys, SAS tokens, registry passwords, object IDs, or private repository details, sanitize evidence before sharing it.

What output tells you

  • The output tells you whether the command reached the intended Azure boundary. For ACR import, check names, IDs, regions, subscription, tenant, repository, container, or principal fields before interpreting the result.
  • It tells you the current state through fields such as source, image, digest, tags, createdTime, networkRuleSet, trusted services. These fields are the bridge between documentation and production behavior; table output may hide them.
  • It tells you whether the next action is safe. A disabled switch, broad token, mutable tag, stale assignment, archive tier, missing replica, or shared credential often means the next command should be a review, not a change.
  • It tells you what evidence can be retained after the operation. Keep state, IDs, timestamps, run IDs, manifest digests, or policy flags; do not keep raw secrets, generated SAS values, or registry passwords.

Mapped Azure CLI commands

ACR import CLI commands

direct
az acr import --name <target-registry> --source docker.io/library/hello-world:latest --image hello-world:latest
az acrprovisionContainers
az acr import --name <target-registry> --source <source-registry>.azurecr.io/<repo>:<tag> --image <repo>:<tag>
az acrprovisionContainers
az acr manifest list-metadata --registry <target-registry> --name <repository>
az acr manifestdiscoverContainers
az acr repository show-tags --name <target-registry> --repository <repository> --orderby time_desc
az acr repositorydiscoverContainers
az acr show --name <target-registry> --query '{publicNetworkAccess:publicNetworkAccess,networkRuleSet:networkRuleSet,sku:sku.name}'
az acrdiscoverContainers

Architecture context

Architecture context for ACR import starts with placement. It belongs to registry content movement and supply-chain operations, touching source registry access, target registry permissions, repository naming, tags, manifest lists, source credentials, private endpoint or firewall behavior, trusted services bypass, and cross-tenant limitations. In a clean design, the team writes down whether the control is tenant-wide, subscription-level, resource-level, data-plane, identity-plane, or artifact-level, because troubleshooting changes dramatically depending on that answer. The next design question is ownership: identity teams usually own entitlement and review controls, platform teams usually own registries and shared storage, application teams own deployment references, and security teams own evidence and guardrails. The third question is lifecycle. Does this setting expire, rotate, replicate, rehydrate, get reviewed, get scanned, or get pinned to a digest? A strong architecture decision captures the normal path, the emergency path, and the audit path. For ACR import, the useful evidence set includes source registry URI, target registry, target image name, tag or digest, source credentials or Entra roles, target repository, manifest metadata, multi-architecture manifest count, network restrictions, trusted services setting, and imported digest. Without that evidence, diagrams and portal labels are not enough to prove the workload is safe.

Security

Security review for ACR import starts with blast radius. Decide who can use the control, who can change it, and what is exposed if it is misconfigured. For identity terms, that means package policies, reviewer accountability, group membership, guests, app assignments, and role assignments. For storage terms, it means token scope, account keys, HTTPS-only settings, public access, private endpoints, and whether user delegation or managed identity would reduce risk. For ACR terms, it means admin credentials, repository permissions, image provenance, manifest digests, scan evidence, and deployment trust. The output to inspect includes source, image, digest, tags, createdTime, networkRuleSet, trusted services. A secure implementation avoids shared secrets, broad permissions, stale access, mutable image assumptions, and undocumented exceptions. Any command that exposes credentials or changes access must be treated as a security-impacting operation, not routine exploration.

Cost

Cost review for ACR import is not only about the price of one service. Identity governance can reduce labor and audit cost but can also overgrant expensive resources if packages and reviews are sloppy. Storage tiering can save money or create retrieval, transaction, minimum-retention, and early deletion costs. Account SAS misuse can enable broad data movement without clear owner accountability. ACR builds, imports, geo-replication, retention, and image storage can add registry, transfer, and operational costs. Inspect fields such as source, image, digest, tags, createdTime, networkRuleSet, trusted services and connect them to chargeback, environment classification, and lifecycle policy. The safe pattern is to tag ownership, document why the value exists, estimate the ongoing effect, and verify after change. Cost surprises usually happen when a term is treated as a technical setting rather than a lifecycle decision.

Reliability

Reliability review for ACR import asks what workload behavior changes when the value changes or drifts. Access governance affects whether users and services can reach the resources they need during normal work or emergency response. Storage tiering affects read availability, archive rehydration, recovery time, and lifecycle automation. ACR operations affect whether workloads can pull the correct image in the correct region at the correct time. The evidence set includes source registry URI, target registry, target image name, tag or digest, source credentials or Entra roles, target repository, manifest metadata, multi-architecture manifest count, network restrictions, trusted services setting, and imported digest. A reliable design defines expected state, monitors drift, documents rollback, and avoids hidden dependencies on shared passwords, broad SAS tokens, mutable tags, or eventually replicated artifacts. During an incident, the operator should be able to run a read-only command, identify the actual state, and decide whether the problem is access, storage behavior, registry state, image identity, or application code.

Performance

Performance review for ACR import asks whether the setting changes latency, throughput, deployment speed, or recovery time. Access package and access review decisions can delay work if approvals are slow or reviewers are wrong, but they also prevent emergency cleanup later. Access tiers affect retrieval latency and archive rehydration. Account SAS can make data transfer simple but should still respect network and protocol choices. ACR build, import, geo-replication, manifest selection, and registry policy affect how fast images are created, copied, found, and pulled by regional workloads. Evidence such as source, image, digest, tags, createdTime, networkRuleSet, trusted services helps separate a real performance problem from an access, replication, tiering, or tag mistake. A good runbook records expected timing and tells operators when to wait, when to rehydrate, when to check replication, and when to stop blaming application code.

Operations

Operational excellence for ACR import means the team can discover, verify, change, and audit the setting without heroics. The runbook should include the owner, normal change path, emergency path, read-only inspection commands, mutating commands, expected output, and rollback verification. It should also state what not to paste into tickets, including SAS tokens, registry passwords, account keys, and raw credential material. For ACR import, operators should inspect source, image, digest, tags, createdTime, networkRuleSet, trusted services and save sanitized evidence with timestamps and context. Automation should prefer small, explicit commands over broad scripts that mutate several resources at once. When the command surface is adjacent rather than direct, the runbook should say that plainly and point to the governing Microsoft Entra, storage, ACR, Defender, or Microsoft Graph workflow that completes the operation.

Common mistakes

  • Importing a mutable tag such as latest without recording the source digest and then treating the target image as if its provenance were pinned and auditable. This is risky because ACR import often sits next to identity, storage, registry, or deployment controls that affect production even when the portal label looks harmless.
  • Using old one-line definitions as visible content. Short definitions are useful as a seed, but they are not enough for operators who need owner, scope, evidence, command safety, and rollback guidance.
  • Reading table output and missing nested JSON fields. For ACR import, long IDs, policy objects, tag lists, manifest digests, token permissions, replica states, and credential settings may be hidden unless JSON is inspected.
  • Skipping post-change verification. A successful command only means Azure accepted the request; it does not prove the package, review, tier, SAS, registry credential, build, import, replica, manifest, or policy now behaves safely.