Tutorial: Implementación y uso de Azure Container RegistryTutorial: Deploy and use Azure Container Registry

Azure Container Registry (ACR) es un registro privado para imágenes de contenedor.Azure Container Registry (ACR) is a private registry for container images. Un registro de contenedor privado permite compilar e implementar aplicaciones y código personalizado de forma segura.A private container registry lets you securely build and deploy your applications and custom code. En este tutorial, que es la segunda de las siete partes, se implementa una instancia de ACR y se insertar una imagen de contenedor en ella.In this tutorial, part two of seven, you deploy an ACR instance and push a container image to it. Aprenderá a:You learn how to:

  • Crear una instancia de Azure Container Registry (ACR)Create an Azure Container Registry (ACR) instance
  • Etiquetar una imagen de contenedor para ACRTag a container image for ACR
  • Cargar la imagen a ACRUpload the image to ACR
  • Ver las imágenes del registroView images in your registry

En tutoriales adicionales, esta instancia de ACR se integra con un clúster de Kubernetes en AKS y se implementa una aplicación a partir de la imagen.In additional tutorials, this ACR instance is integrated with a Kubernetes cluster in AKS, and an application is deployed from the image.

Antes de empezarBefore you begin

En el tutorial anterior, se creó una imagen de contenedor para una aplicación sencilla de Azure Voting.In the previous tutorial, a container image was created for a simple Azure Voting application. Si no ha creado la imagen de la aplicación de Azure Voting, vuelva al Tutorial 1: creación de imágenes de contenedor.If you have not created the Azure Voting app image, return to Tutorial 1 – Create container images.

Para realizar este tutorial es necesario ejecutar la versión 2.0.53, o superior, de la CLI de Azure.This tutorial requires that you're running the Azure CLI version 2.0.53 or later. Ejecute az --version para encontrar la versión.Run az --version to find the version. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.If you need to install or upgrade, see Install Azure CLI.

Creación de una instancia de Azure Container RegistryCreate an Azure Container Registry

Para crear una instancia de Azure Container Registry, es preciso tener antes un grupo de recursos.To create an Azure Container Registry, you first need a resource group. Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure.An Azure resource group is a logical container into which Azure resources are deployed and managed.

Cree un grupo de recursos con el comando az group create.Create a resource group with the az group create command. En el siguiente ejemplo, se crea un grupo de recursos denominado myResourceGroup en la región eastus:In the following example, a resource group named myResourceGroup is created in the eastus region:

az group create --name myResourceGroup --location eastus

Cree una instancia de Azure Container Registry con el comando crear az acr y especifique su propio nombre de registro.Create an Azure Container Registry instance with the az acr create command and provide your own registry name. El nombre del registro debe ser único dentro de Azure y contener entre 5 y 50 caracteres alfanuméricos.The registry name must be unique within Azure, and contain 5-50 alphanumeric characters. En el resto del tutorial, se usa <acrName> como marcador de posición del nombre del registro de contenedor.In the rest of this tutorial, <acrName> is used as a placeholder for the container registry name. Proporcione su propio nombre único de registro.Provide your own unique registry name. La SKU básica es un punto de entrada optimizado para costo con fines de desarrollo que proporciona un equilibrio entre almacenamiento y rendimiento.The Basic SKU is a cost-optimized entry point for development purposes that provides a balance of storage and throughput.

az acr create --resource-group myResourceGroup --name <acrName> --sku Basic

Inicio de sesión en el registro de contenedorLog in to the container registry

Para usar la instancia de ACR, primero debe iniciar sesión.To use the ACR instance, you must first log in. Use el comando az acr login y especifique el nombre único que dio al registro de contenedor en el paso anterior.Use the az acr login command and provide the unique name given to the container registry in the previous step.

az acr login --name <acrName>

Al finalizar, el comando devuelve un mensaje que indica que el inicio de sesión se ha realizado correctamente.The command returns a Login Succeeded message once completed.

Etiquetado de una imagen de contenedorTag a container image

Para ver una lista de las imágenes locales actuales, use el comando docker images:To see a list of your current local images, use the docker images command:

$ docker images

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

Para usar la imagen de contenedor azure-vote-front con ACR, se debe etiquetar con la dirección del servidor de inicio de sesión del registro de imagen.To use the azure-vote-front container image with ACR, the image needs to be tagged with the login server address of your registry. Esta etiqueta se usa para el enrutamiento al insertar imágenes de contenedor en un registro de imágenes.This tag is used for routing when pushing container images to an image registry.

Para obtener la dirección del servidor de inicio de sesión, use el comando az acr list y consulte loginServer como se indica a continuación:To get the login server address, use the az acr list command and query for the loginServer as follows:

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

Ahora, etiquete la imagen azure-vote-front local con la dirección acrloginServer del registro de contenedor.Now, tag your local azure-vote-front image with the acrloginServer address of the container registry. Para indicar la versión de la imagen, agregue :v1 al final de su nombre:To indicate the image version, add :v1 to the end of the image name:

docker tag azure-vote-front <acrLoginServer>/azure-vote-front:v1

Para comprobar que se aplican las etiquetas, vuelva a ejecutar docker images.To verify the tags are applied, run docker images again. Una imagen se etiqueta con la dirección de la instancia de ACR y un número de versión.An image is tagged with the ACR instance address and a version number.

$ docker images

REPOSITORY                                           TAG           IMAGE ID            CREATED             SIZE
azure-vote-front                                     latest        eaf2b9c57e5e        8 minutes ago       716 MB
mycontainerregistry.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

Inserción de imágenes en el registroPush images to registry

Con la imagen generada y etiquetada, inserte la imagen azure-vote-front en la instancia de ACR.With your image built and tagged, push the azure-vote-front image to your ACR instance. Use docker push y especifique su propia dirección acrLoginServer para el nombre de la imagen, tal como se muestra a continuación:Use docker push and provide your own acrLoginServer address for the image name as follows:

docker push <acrLoginServer>/azure-vote-front:v1

La inserción de la imagen en ACR puede tardar varios minutos en completarse.It may take a few minutes to complete the image push to ACR.

Lista de imágenes en el registroList images in registry

Para que se devuelva una lista de las imágenes que se han insertado en la instancia de ACR, el usuario debe utilizar el comando az acr repository list.To return a list of images that have been pushed to your ACR instance, use the az acr repository list command. Escriba su propio <acrName> como se indica a continuación:Provide your own <acrName> as follows:

az acr repository list --name <acrName> --output table

En la siguiente salida de ejemplo se muestra la imagen azure-vote-front como disponible en el registro:The following example output lists the azure-vote-front image as available in the registry:

Result
----------------
azure-vote-front

Para ver las etiquetas de una imagen concreta, use el comando az acr repository show-tags como se indica a continuación:To see the tags for a specific image, use the az acr repository show-tags command as follows:

az acr repository show-tags --name <acrName> --repository azure-vote-front --output table

La salida de ejemplo siguiente muestra la imagen de v1 etiquetada en un paso anterior:The following example output shows the v1 image tagged in a previous step:

Result
--------
v1

Ya hay una imagen de contenedor almacenada en una instancia de Azure Container Registry privada.You now have a container image that is stored in a private Azure Container Registry instance. En el siguiente tutorial, dicha imagen se implementa desde ACR en un clúster de Kubernetes.This image is deployed from ACR to a Kubernetes cluster in the next tutorial.

Pasos siguientesNext steps

En este tutorial, ha creado una instancia de Azure Container Registry y ha insertado una imagen para su uso en un clúster de AKS.In this tutorial, you created an Azure Container Registry and pushed an image for use in an AKS cluster. Ha aprendido a:You learned how to:

  • Crear una instancia de Azure Container Registry (ACR)Create an Azure Container Registry (ACR) instance
  • Etiquetar una imagen de contenedor para ACRTag a container image for ACR
  • Cargar la imagen a ACRUpload the image to ACR
  • Ver las imágenes del registroView images in your registry

Vaya al siguiente tutorial para aprender a implementar un clúster de Kubernetes en Azure.Advance to the next tutorial to learn how to deploy a Kubernetes cluster in Azure.