(DEPRECATED) Deploy and use Azure Container Registry
Tip
For the updated version this tutorial that uses Azure Kubernetes Service, see Tutorial: Deploy and use Azure Container Registry.
Warning
The Azure Container Service (ACS) is being deprecated. No new features or functionality are being added to ACS. All of the APIs, portal experience, CLI commands and documentation are marked as deprecated.
In 2017, we introduced Azure Kubernetes Service (AKS) for simplifying Kubernetes management, deployment, and operations. If you use the Kubernetes orchestrator, please migrate to AKS by January 31, 2020. To get started, see migrate to Azure Kubernetes Service.
For more information, see the Azure Container Service deprecation announcement on Azure.com.
Azure Container Registry (ACR) is an Azure-based, private registry, for Docker container images. This tutorial, part two of seven, walks through deploying an Azure Container Registry instance, and pushing a container image to it. Steps completed include:
- Deploying an Azure Container Registry (ACR) instance
- Tagging a container image for ACR
- Uploading the image to ACR
In subsequent tutorials, this ACR instance is integrated with an Azure Container Service Kubernetes cluster.
Before you begin
In the previous tutorial, a container image was created for a simple Azure Voting application. If you have not created the Azure Voting app image, return to Tutorial 1 – Create container images.
This tutorial requires that you are running the Azure CLI version 2.0.4 or later. Run az --version
to find the version. If you need to install or upgrade, see Install the Azure CLI.
Deploy Azure Container Registry
When deploying an Azure Container Registry, you first need a resource group. An Azure resource group is a logical container into which Azure resources are deployed and managed.
Create a resource group with the az group create command. In this example, a resource group named myResourceGroup
is created in the westeurope
region.
az group create --name myResourceGroup --location westeurope
Create an Azure Container registry with the az acr create command. The name of a Container Registry must be unique.
az acr create --resource-group myResourceGroup --name <acrName> --sku Basic
Throughout the rest of this tutorial, we use <acrname>
as a placeholder for the container registry name.
Container registry login
Use the az acr login command to log in to the ACR instance. You need to provide the unique name given to the container registry when it was created.
az acr login --name <acrName>
The command returns a 'Login Succeeded’ message once completed.
Tag container images
To see a list of current images, use the docker images command.
docker images
Output:
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest 4675398c9172 13 minutes ago 694MB
redis latest a1b99da73d05 7 days ago 106MB
tiangolo/uwsgi-nginx-flask flask 788ca94b2313 9 months ago 694MB
Each container image needs to be tagged with the loginServer name of the registry. This tag is used for routing when pushing container images to an image registry.
To get the loginServer name, run the following command.
az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
Now, tag the azure-vote-front
image with the loginServer of the container registry. Also, add :v1
to the end of the image name. This tag indicates the image version.
docker tag azure-vote-front <acrLoginServer>/azure-vote-front:v1
Once tagged, run docker images to verify the operation.
docker images
Output:
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest eaf2b9c57e5e 8 minutes ago 716 MB
mycontainerregistry082.azurecr.io/azure-vote-front v1 eaf2b9c57e5e 8 minutes ago 716 MB
redis latest a1b99da73d05 7 days ago 106MB
tiangolo/uwsgi-nginx-flask flask 788ca94b2313 8 months ago 694 MB
Push images to registry
Push the azure-vote-front
image to the registry.
Using the following example, replace the ACR loginServer name with the loginServer from your environment.
docker push <acrLoginServer>/azure-vote-front:v1
This takes a couple of minutes to complete.
List images in registry
To return a list of images that have been pushed to your Azure Container registry, user the az acr repository list command. Update the command with the ACR instance name.
az acr repository list --name <acrName> --output table
Output:
Result
----------------
azure-vote-front
And then to see the tags for a specific image, use the az acr repository show-tags command.
az acr repository show-tags --name <acrName> --repository azure-vote-front --output table
Output:
Result
--------
v1
At tutorial completion, the container image has been stored in a private Azure Container Registry instance. This image is deployed from ACR to a Kubernetes cluster in subsequent tutorials.
Next steps
In this tutorial, an Azure Container Registry was prepared for use in an ACS Kubernetes cluster. The following steps were completed:
- Deployed an Azure Container Registry instance
- Tagged a container image for ACR
- Uploaded the image to ACR
Advance to the next tutorial to learn about deploying a Kubernetes cluster in Azure.