Skip to main content
A container registry is a service for storing and distributing container images and related artifacts. While Docker Hub is a popular public registry, Azure Container Registry (ACR) offers a fully managed, private registry with advanced features like geo-replication, content trust, and virtual network integration.

Azure Container Registry SKUs

ACR comes in three SKUs—Basic, Standard, and Premium—each varying by storage capacity, daily operations, and outbound bandwidth. As you move from Basic → Standard → Premium, quotas increase and additional features are unlocked.
You can upgrade or downgrade between SKUs as long as your storage usage stays within the target tier’s quota.
Downgrading from Premium (200 GB) to Standard (100 GB) will fail if your registry exceeds 100 GB of stored artifacts.
The image is a table comparing the features of different Azure Container Registry (ACR) tiers: Basic, Standard, and Premium, detailing resources like storage, operations, and bandwidth.
For full details, see Azure Container Registry SKUs & pricing.

Provisioning and Access Control

When you create an AKS cluster with the Azure CLI or Portal, you can automatically provision an ACR instance and grant the cluster’s managed identity the AcrPull role. If you create your registry separately, assign roles as follows:
  1. In the Azure Portal, navigate to your Container Registry.
  2. Open Access Control (IAM)Role assignments.
  3. Filter by “ACR” to see built-in roles: AcrPull, AcrPush, Owner.
  4. Click Add role assignment, select the appropriate role, and assign it to your AKS managed identity or service principal.
The image shows a Microsoft Azure portal interface displaying a container registry named "crkodekloud" with no repositories listed. The left sidebar includes various settings and services options.
The image shows the Microsoft Azure portal, specifically the Access Control (IAM) section for a container registry. It lists role assignments, including an "AcrPull" role for a managed identity and an "Owner" role for a user.
The image shows a Microsoft Azure portal interface for adding a role assignment, specifically highlighting the "AcrPull" role, which allows pulling images from a container registry.

Built-in ACR Roles

Here’s the JSON definition of the AcrPush role:

Tagging and Pushing Images to ACR

  1. List your local Docker images:
  2. Tag each image for your ACR:
  3. Verify the new tags:
  4. Authenticate with your registry:
  5. Push both tags:
  6. In the Azure Portal, go to your registry’s Repositories blade to confirm the image tags.

Deploying to Azure Kubernetes Service (AKS)

Deploy version v1 of your application directly from ACR:
Expose the deployment via an Azure Load Balancer:
Example output:
Open the EXTERNAL-IP in your browser to verify the application is running.

Watch Video