Avvio rapido: Creare un registro contenitori privato usando l'interfaccia della riga di comando di AzureQuickstart: Create a private container registry using the Azure CLI

Registro Azure Container è un servizio gestito di registri contenitori Docker usato per l'archiviazione di immagini di un contenitore Docker privato.Azure Container Registry is a managed Docker container registry service used for storing private Docker container images. Questa guida descrive la creazione di un'istanza di Registro Azure Container con l'interfaccia della riga di comando di Azure.This guide details creating an Azure Container Registry instance using the Azure CLI. Usare quindi i comandi di Docker per eseguire il push di un'immagine del contenitore nel registro e infine eseguire il pull ed eseguire l'immagine dal registro.Then, use Docker commands to push a container image into the registry, and finally pull and run the image from your registry.

Questa guida introduttiva richiede l'esecuzione dell'interfaccia della riga di comando di Azure (consigliata la versione 2.0.55 o successive).This quickstart requires that you are running the Azure CLI (version 2.0.55 or later recommended). 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.If you need to install or upgrade, see Install Azure CLI.

È anche necessario avere Docker installato localmente.You must also have Docker installed locally. Docker offre pacchetti che consentono di configurare facilmente Docker in qualsiasi sistema macOS, Windows o Linux.Docker provides packages that easily configure Docker on any macOS, Windows, or Linux system.

Poiché Azure Cloud Shell non include tutti i componenti di Docker necessari, ovvero il daemon dockerd, non è possibile usare Cloud Shell lo per questa guida rapida.Because the Azure Cloud Shell doesn't include all required Docker components (the dockerd daemon), you can't use the Cloud Shell for this quickstart.

Creare un gruppo di risorseCreate a resource group

Creare un gruppo di risorse con il comando az group create.Create a resource group with the az group create command. Un gruppo di risorse di Azure è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.An Azure resource group is a logical container into which Azure resources are deployed and managed.

L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella località stati uniti orientali.The following example creates a resource group named myResourceGroup in the eastus location.

az group create --name myResourceGroup --location eastus

Creare un registro contenitoriCreate a container registry

In questa guida introduttiva viene creato un registro Basic, ovvero un'opzione ottimizzata in termini di costo per sviluppatori che iniziano a usare Registro Azure Container.In this quickstart you create a Basic registry, which is a cost-optimized option for developers learning about Azure Container Registry. Per informazioni dettagliate sui livelli di servizio disponibili, vedere SKU di Registro Azure Container.For details on available service tiers, see Container registry SKUs.

Creare un'istanza di Registro Azure Container usando il comando az acr create.Create an ACR instance using the az acr create command. Il nome del registro deve essere univoco in Azure e contenere da 5 a 50 caratteri alfanumerici.The registry name must be unique within Azure, and contain 5-50 alphanumeric characters. Nell'esempio seguente viene usato il nome myContainerRegistry007.In the following example, myContainerRegistry007 is used. Aggiornarlo a un valore univoco.Update this to a unique value.

az acr create --resource-group myResourceGroup --name myContainerRegistry007 --sku Basic

Quando viene creato il registro, l'output è simile al seguente:When the registry is created, the output is similar to the following:

{
  "adminUserEnabled": false,
  "creationDate": "2019-01-08T22:32:13.175925+00:00",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myContainerRegistry007",
  "location": "eastus",
  "loginServer": "mycontainerregistry007.azurecr.io",
  "name": "myContainerRegistry007",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "sku": {
    "name": "Basic",
    "tier": "Basic"
  },
  "status": null,
  "storageAccount": null,
  "tags": {},
  "type": "Microsoft.ContainerRegistry/registries"
}

Prendere nota del valore di loginServer nell'output, che corrisponde al nome del registro completo (tutto minuscolo).Take note of loginServer in the output, which is the fully qualified registry name (all lowercase). Nella parte restante di questa guida introduttiva, <acrName> è un segnaposto per il nome del registro contenitori.Throughout the rest of this quickstart <acrName> is a placeholder for the container registry name.

Accedere al registroLog in to registry

Prima di eseguire il push e il pull delle immagini del contenitore, è necessario accedere al registro.Before pushing and pulling container images, you must log in to the registry. A tale scopo usare il comando az acr login.To do so, use the az acr login command.

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.

Eseguire il push dell'immagine nel registroPush image to registry

Per eseguire il push di un'immagine in Registro Azure Container è necessario innanzitutto disporre di un'immagine.To push an image to an Azure Container registry, you must first have an image. Se non sono ancora disponibili immagini del contenitore locale, eseguire il comando seguente docker pull per eseguire il pull di un'immagine esistente da Hub Docker.If you don't yet have any local container images, run the following docker pull command to pull an existing image from Docker Hub. Per questo esempio, eseguire il pull dell'immagine hello-world.For this example, pull the hello-world image.

docker pull hello-world

Prima di poter eseguire il push di un'immagine nel registro, è necessario contrassegnarla con il nome completo del server di accesso del record di controllo di accesso.Before you can push an image to your registry, you must tag it with the fully qualified name of your ACR login server. Il nome del server di accesso è nel formato <registry-name>.azurecr.io (tutto in minuscolo), ad esempio mycontainerregistry007.azurecr.io.The login server name is in the format <registry-name>.azurecr.io (all lowercase), for example, mycontainerregistry007.azurecr.io.

Contrassegnare l'immagine usando il comando docker tag.Tag the image using the docker tag command. Sostituire <acrLoginServer> con il nome del server di accesso dell'istanza del record di controllo di accesso.Replace <acrLoginServer> with the login server name of your ACR instance.

docker tag hello-world <acrLoginServer>/hello-world:v1

Infine, usare docker push per eseguire il push dell'immagine nell'istanza del record di controllo di accesso.Finally, use docker push to push the image to the ACR instance. Sostituire <acrLoginServer> con il nome del server di accesso dell'istanza del record di controllo di accesso.Replace <acrLoginServer> with the login server name of your ACR instance. Questo esempio crea il repository hello-world che contiene l'immagine hello-world:v1.This example creates the hello-world repository, containing the hello-world:v1 image.

docker push <acrLoginServer>/hello-world:v1

Dopo il push dell'immagine nel registro contenitori, rimuovere l'immagine hello-world:v1 dall'ambiente Docker locale.After pushing the image to your container registry, remove the hello-world:v1 image from your local Docker environment. Si noti che questo comando docker rmi non rimuove l'immagine dal repository hello-world nel registro contenitori di Azure.(Note that this docker rmi command does not remove the image from the hello-world repository in your Azure container registry.)

docker rmi <acrLoginServer>/hello-world:v1

Elencare le immagini del contenitoreList container images

L'esempio seguente elenca i repository presenti nel registro:The following example lists the repositories in your registry:

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

Output:Output:

Result
----------------
hello-world

L'esempio seguente elenca i tag nel repository hello-world.The following example lists the tags on the hello-world repository.

az acr repository show-tags --name <acrName> --repository hello-world --output table

Output:Output:

Result
--------
v1

Eseguire un'immagine dal registroRun image from registry

È possibile ora effettuare il pull ed eseguire l'immagine del contenitore hello-world:v1 dal registro contenitori usando docker run:Now, you can pull and run the hello-world:v1 container image from your container registry by using docker run:

docker run <acrLoginServer>/hello-world:v1  

Output di esempio:Example output:

Unable to find image 'mycontainerregistry007.azurecr.io/hello-world:v1' locally
v1: Pulling from hello-world
Digest: sha256:662dd8e65ef7ccf13f417962c2f77567d3b132f12c95909de6c85ac3c326a345
Status: Downloaded newer image for mycontainerregistry007.azurecr.io/hello-world:v1

Hello from Docker!
This message shows that your installation appears to be working correctly.

[...]

Pulire le risorseClean up resources

Quando il gruppo di risorse, il registro contenitori e le immagini del contenitore in esso archiviate non sono più necessari, è possibile usare il comando az group delete per rimuoverli.When no longer needed, you can use the az group delete command to remove the resource group, the container registry, and the container images stored there.

az group delete --name myResourceGroup

Passaggi successiviNext steps

In questa guida introduttiva è stata creata un'istanza di Registro Azure Container con l'interfaccia della riga di comando di Azure, è stato eseguito il push di un'immagine del contenitore nel registro e quindi è stato eseguito il pull per eseguire l'immagine dal registro.In this quickstart, you created an Azure Container Registry with the Azure CLI, pushed a container image to the registry, and pulled and ran the image from the registry. Per maggiori informazioni su Registro Azure Container, passare alle relative esercitazioni.Continue to the Azure Container Registry tutorials for a deeper look at ACR.