Distribuire e usare il Registro contenitori di AzureDeploy and use Azure Container Registry

Questa è la parte due di un'esercitazione in tre parti.This is part two of a three-part tutorial. Nel passaggio precedente è stata creta un'immagine del contenitore per una semplice applicazione Web scritta in Node.js.In the previous step, a container image was created for a simple web application written in Node.js. In questa esercitazione si esegue il push dell'immagine in un'istanza del Registro contenitori di Azure.In this tutorial, you push the image to an Azure Container Registry. Se l'immagine del contenitore non è stata creata, tornare all'Esercitazione 1 - Creare l'immagine del contenitore.If you have not created the container image, return to Tutorial 1 – Create container image.

Registro contenitori di Azure è un registro privato basato su Azure per le immagini del contenitore Docker.The Azure Container Registry is an Azure-based, private registry, for Docker container images. Questa esercitazione illustra la distribuzione di un'istanza di Registro contenitori di Azure e il push di un'immagine del contenitore in essa.This tutorial walks through deploying an Azure Container Registry instance, and pushing a container image to it. I passaggi completati comprendono:Steps completed include:

  • Distribuzione di un'istanza del Registro contenitori di AzureDeploying an Azure Container Registry instance
  • Assegnazione di un tag all'immagine del contenitore per Registro contenitori di AzureTagging container image for Azure Container Registry
  • Caricamento dell'immagine in Registro contenitori di AzureUploading image to Azure Container Registry

Nelle esercitazioni successive si distribuirà il contenitore dal registro privato a Istanze di contenitore di Azure.In subsequent tutorials, you deploy the container from your private registry to Azure Container Instances.

Prima di iniziareBefore you begin

Per questa esercitazione è necessario eseguire l'interfaccia della riga di comando di Azure versione 2.0.21 o successiva.This tutorial requires that you are running the Azure CLI version 2.0.21 or later. Eseguire az --version per trovare la versione.Run az --version to find the version. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure 2.0.If you need to install or upgrade, see Install Azure CLI 2.0.

Per completare questa esercitazione è necessario un ambiente di sviluppo Docker.To complete this tutorial, you need a Docker development environment. Docker offre pacchetti che consentono di configurare facilmente Docker in qualsiasi sistema Mac, Windows o Linux.Docker provides packages that easily configure Docker on any Mac, Windows, or Linux system.

Azure Cloud Shell non include i componenti di Docker necessari per completare ogni passaggio di questa esercitazione.Azure Cloud Shell does not include the Docker components required to complete every step this tutorial. È quindi consigliabile un'installazione locale dell'ambiente di sviluppo dell'interfaccia della riga di comando di Azure e di Docker.Therefore, we recommend a local installation of the Azure CLI and Docker development environment.

Distribuire il Registro contenitori di AzureDeploy Azure Container Registry

Prima di distribuire un Registro contenitori di Azure, è necessario che esista un gruppo di risorse.When deploying an Azure Container Registry, you first need a resource group. Un gruppo di risorse di Azure è una raccolta logica in cui le risorse di Azure vengono distribuite e gestite.An Azure resource group is a logical collection into which Azure resources are deployed and managed.

Creare un gruppo di risorse con il comando az group create.Create a resource group with the az group create command. In questo esempio viene creato un gruppo di risorse denominato myResourceGroup nell'area eastus.In this example, a resource group named myResourceGroup is created in the eastus region.

az group create --name myResourceGroup --location eastus

Creare un Registro contenitori di Azure con il comando az acr create.Create an Azure container registry with the az acr create command. Il nome del registro contenitori deve essere univoco in Azure e contenere da 5 a 50 caratteri alfanumerici.The container registry name must be unique within Azure, and must contain 5-50 alphanumeric characters. Sostituire <acrName> con un nome univoco per il registro:Replace <acrName> with a unique name for your registry:

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

Ad esempio, per creare un registro contenitori di Azure denominato mycontainerregistry082:For example, to create an Azure container registry named mycontainerregistry082:

az acr create --resource-group myResourceGroup --name mycontainerregistry082 --sku Basic --admin-enabled true

Nella parte restante di questa esercitazione si usa <acrName> come segnaposto per il nome del registro contenitori scelto.Throughout the rest of this tutorial, we use <acrName> as a placeholder for the container registry name that you chose.

Accesso al registro contenitoriContainer registry login

È necessario accedere all'istanza del Registro contenitori di Azure prima di eseguire il push di immagini in essa.You must log in to your ACR instance before pushing images to it. Usare il comando az acr login per completare l'operazione.Use the az acr login command to complete the operation. È necessario specificare il nome univoco assegnato al registro contenitori al momento della creazione.You must provide the unique name given to the container registry when it was created.

az acr login --name <acrName>

Il comando restituisce un messaggio Login Succeeded al termine dell'esecuzione.The command returns a Login Succeeded message once completed.

Assegnare tag all'immagine del contenitoreTag container image

Per distribuire un'immagine del contenitore da un registro privato, all'immagine deve essere assegnato un tag con il nome loginServer del registro.To deploy a container image from a private registry, the image needs to be tagged with the loginServer name of the registry.

Per visualizzare un elenco di immagini correnti, usare il comando docker images.To see a list of current images, use the docker images command.

docker images

Output:Output:

REPOSITORY                   TAG                 IMAGE ID            CREATED              SIZE
aci-tutorial-app             latest              5c745774dfa9        39 seconds ago       68.1 MB

Per ottenere il nome loginServer, eseguire questo comando.To get the loginServer name, run the following command. Sostituire <acrName> con il nome del registro contenitori.Replace <acrName> with the name of your container registry.

az acr show --name <acrName> --query loginServer --output table

Output di esempio:Example output:

Result
------------------------
mycontainerregistry082.azurecr.io

Applicare all'immagine aci-tutorial-app il tag loginServer del registro contenitori.Tag the aci-tutorial-app image with the loginServer of your container registry. Aggiungere anche :v1 alla fine del nome dell'immagine.Also, add :v1 to the end of the image name. Questo tag indica il numero di versione dell'immagine.This tag indicates the image version number. Sostituire <acrLoginServer> con il risultato del comando az acr show appena eseguito.Replace <acrLoginServer> with the result of the az acr show command you just executed.

docker tag aci-tutorial-app <acrLoginServer>/aci-tutorial-app:v1

Una volta applicato il tag, eseguire docker images per verificare l'operazione.Once tagged, run docker images to verify the operation.

docker images

Output:Output:

REPOSITORY                                                TAG                 IMAGE ID            CREATED             SIZE
aci-tutorial-app                                          latest              5c745774dfa9        39 seconds ago      68.1 MB
mycontainerregistry082.azurecr.io/aci-tutorial-app        v1                  a9dace4e1a17        7 minutes ago       68.1 MB

Eseguire il push dell'immagine in Registro contenitori di AzurePush image to Azure Container Registry

Eseguire il push dell'immagine aci-tutorial-app nel registro con il comando docker push.Push the aci-tutorial-app image to the registry with the docker push command. Sostituire <acrLoginServer> con il nome del server di accesso completo ottenuto nel passaggio precedente.Replace <acrLoginServer> with the full login server name you obtain in the earlier step.

docker push <acrLoginServer>/aci-tutorial-app:v1

L'operazione push dovrebbe richiedere da alcuni secondi a qualche minuto a seconda della connessione Internet e l'output è simile al seguente:The push operation should take a few seconds to a few minutes depending on your Internet connection, and output is similar to the following:

The push refers to a repository [mycontainerregistry082.azurecr.io/aci-tutorial-app]
3db9cac20d49: Pushed
13f653351004: Pushed
4cd158165f4d: Pushed
d8fbd47558a8: Pushed
44ab46125c35: Pushed
5bef08742407: Pushed
v1: digest: sha256:ed67fff971da47175856505585dcd92d1270c3b37543e8afd46014d328f05715 size: 1576

Elencare le immagini in Registro contenitori di AzureList images in Azure Container Registry

Per restituire un elenco di immagini di cui è stato eseguito il push nel Registro contenitori di Azure, usare il comando az acr repository list.To return a list of images that have been pushed to your Azure Container registry, use the az acr repository list command. Aggiornare il comando con il nome del registro contenitori.Update the command with the container registry name.

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

Output:Output:

Result
----------------
aci-tutorial-app

Per visualizzare i tag per un'immagine specifica, usare il comando az acr repository show-tags.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 aci-tutorial-app --output table

Output:Output:

Result
--------
v1

Passaggi successiviNext steps

In questa esercitazione è stata preparata un'istanza di Registro contenitori di Azure da usare con Istanze di contenitore di Azure. È stato inoltre eseguito il push dell'immagine del contenitore.In this tutorial, an Azure Container Registry was prepared for use with Azure Container Instances, and the container image was pushed. Sono stati completati i passaggi seguenti:The following steps were completed:

  • Distribuzione di un'istanza di Registro contenitori di AzureDeployed an Azure Container Registry instance
  • Assegnazione di un tag all'immagine del contenitore per il Registro contenitori di AzureTagged a container image for Azure Container Registry
  • Caricamento di un'immagine nel Registro contenitori di AzureUploaded an image to Azure Container Registry

Passare alla prossima esercitazione per informazioni sulla distribuzione del contenitore in Azure con Istanze di contenitore di Azure.Advance to the next tutorial to learn about deploying the container to Azure using Azure Container Instances.