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

Registro contenitori di Azure è 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 contenitori di Azure tramite l'interfaccia della riga di comando di Azure, l'inserimento di un'immagine del contenitore nel registro e infine la distribuzione del contenitore dal registro in Istanze di contenitore di Azure.This guide details creating an Azure Container Registry instance using the Azure CLI, pushing a container image into the registry and finally deploying the container from your registry into Azure Container Instances (ACI).

Questa guida introduttiva richiede l'interfaccia della riga di comando di Azure 2.0.27 o versioni successive.This quickstart requires that you are running the Azure CLI version 2.0.27 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.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 Mac, Windows o Linux.Docker provides packages that easily configure Docker on any Mac, Windows, or Linux system.

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 di contenitoriCreate a container registry

In questa guida introduttiva viene creato un registro contenitori di base.In this quickstart you create a Basic registry. Registro contenitori di Azure è disponibile in diversi SKU, descritti brevemente nella tabella riportata di seguito.Azure Container Registry is available in several different SKUs, described briefly in the following table. Per altri dettagli su ogni SKU, vedere SKU di Registro contenitori.For extended details on each, see Container registry SKUs.

SKUSKU DESCRIZIONEDescription
BasicBasic Un punto di ingresso di ottimizzazione dei costi per gli sviluppatori che iniziano a usare Registro contenitori di Azure.A cost-optimized entry point for developers learning about Azure Container Registry. I registri Basic dispongono delle stesse funzionalità programmatiche del livello Standard e Premium, ovvero l'integrazione dell'autenticazione, l'eliminazione di immagini e gli hook Web di Azure Active Directory, tuttavia ci sono limiti di dimensioni e uso.Basic registries have the same programmatic capabilities as Standard and Premium (Azure Active Directory authentication integration, image deletion, and web hooks), however, there are size and usage constraints.
StandardStandard Il registro Standard offre le stesse funzionalità del livello Basic, ma con limiti di archiviazione e velocità effettiva di immagine aumentati.The Standard registry offers the same capabilities as Basic, but with increased storage limits and image throughput. I registri Standard devono soddisfare le esigenze della maggior parte degli scenari di produzione.Standard registries should satisfy the needs of most production scenarios.
PremiumPremium I registri Premium hanno limiti più elevati sui vincoli, ad esempio le operazioni di archiviazione o simultanee, tra cui le migliorate funzionalità di archiviazione per supportare scenari con volumi elevati.Premium registries have higher limits on constraints, such as storage and concurrent operations, including enhanced storage capabilities to support high-volume scenarios. Oltre alla maggiore capacità di velocità effettiva per le immagini, il livello Premium aggiunge funzionalità come la replica geografica per la gestione di un solo registro in più aree, mantenendo un registro in una posizione di rete vicina a ogni distribuzione.In addition to higher image throughput capacity, Premium adds features like geo-replication for managing a single registry across multiple regions, maintaining a network-close registry to each deployment.

Creare un'istanza di Registro contenitori di Azure 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": "2017-09-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"
}

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 record di controllo di accessoLog in to ACR

Prima di eseguire il push e il pull delle immagini del contenitore, è necessario accedere all'istanza di Registro contenitori di Azure.Before pushing and pulling container images, you must log in to the ACR instance. 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 di un'immagine nel record di controllo di accessoPush image to ACR

Per eseguire il push di un'immagine nel registro contenitori di Azure è 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 per eseguire il pull di un'immagine esistente da Hub Docker.If you don't yet have any local container images, run the following command to pull an existing image from Docker Hub.

docker pull microsoft/aci-helloworld

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. Eseguire il comando seguente per ottenere il nome completo del server di accesso dell'istanza del record di controllo di accesso.Run the following command to obtain the full login server name of the ACR instance.

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

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 microsoft/aci-helloworld <acrLoginServer>/aci-helloworld: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.

docker push <acrLoginServer>/aci-helloworld:v1

Elencare le immagini del contenitoreList container images

L'esempio seguente elenca i repository in un registro:The following example lists the repositories in a registry:

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

Output:Output:

Result
----------------
aci-helloworld

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

az acr repository show-tags --name <acrName> --repository aci-helloworld --output table

Output:Output:

Result
--------
v1

Distribuire l'immagine in Istanze di contenitore di AzureDeploy image to ACI

Per distribuire un'istanza del contenitore dal registro creato, è necessario fornire le credenziali del registro al momento della distribuzione.In order to deploy a container instance from the registry you created, you must provide the registry credentials when you deploy it. Negli scenari di produzione è necessario usare un'entità servizio per l'accesso al registro contenitori, ma per rendere sintetica questa guida introduttiva, abilitare l'utente amministratore nel registro con il comando seguente:In production scenarios you should use a service principal for container registry access, but to keep this quickstart brief, enable the admin user on your registry with the following command:

az acr update --name <acrName> --admin-enabled true

Dopo aver abilitato l'amministratore, il nome utente corrisponderà al nome del registro e sarà possibile recuperare la password con questo comando:Once admin is enabled the username is the same as your registry name and you can retrieve the password with this command:

az acr credential show --name <acrName> --query "passwords[0].value"

Per distribuire l'immagine con 1 core CPU e 1 GB di memoria, eseguire questo comando.To deploy your container image with 1 CPU core and 1 GB of memory, run the following command. Sostituire <acrName>, <acrLoginServer> e <acrPassword> con i valori ottenuti dai comandi precedenti.Replace <acrName>, <acrLoginServer>, and <acrPassword> with the values you obtained from previous commands.

az container create --resource-group myResourceGroup --name acr-quickstart --image <acrLoginServer>/aci-helloworld:v1 --cpu 1 --memory 1 --registry-username <acrName> --registry-password <acrPassword> --dns-name-label aci-demo --ports 80

Si riceverà una risposta iniziale da Azure Resource Manager con i dettagli del contenitore.You should get an initial response back from Azure Resource Manager with details on your container. Per monitorare lo stato del contenitore e verificare quando è in esecuzione, ripetere il comando az container show.To monitor the status of your container and check and see when it is running, repeat the az container show. Per il completamento dovrebbe essere necessario meno di un minuto.It should take less than a minute.

az container show --resource-group myResourceGroup --name acr-quickstart --query instanceView.state

Visualizzare l'applicazioneView the application

Dopo aver completato la distribuzione in Istanze di contenitore di Azure, recuperare il nome di dominio completo (FQDN) con il comando az container show:Once the deployment to ACI is successful, retrieve the container's FQDN with the az container show command:

az container show --resource-group myResourceGroup --name acr-quickstart --query ipAddress.fqdn

Output di esempio: "aci-demo.eastus.azurecontainer.io"Example output: "aci-demo.eastus.azurecontainer.io"

Per visualizzare l'applicazione in esecuzione, esplorare l'indirizzo IP pubblico nel browser preferito.To see the running application, navigate to the public IP address in your favorite browser.

App Hello World nel browser

Pulire le risorseClean up resources

Quando il gruppo di risorse, l'istanza del record di controllo di accesso e tutte le immagini del contenitore 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, ACR instance, and all container images.

az group delete --name myResourceGroup

Passaggi successiviNext steps

In questa guida introduttiva è stato creato un registro contenitori di Azure con l'interfaccia della riga di comando di Azure, è stato eseguito il push di un'immagine del contenitore nel registro e ne è stata avviata un'istanza tramite Istanze di contenitore di Azure.In this quickstart, you created an Azure Container Registry with the Azure CLI, pushed a container image to the registry, and launched an instance of it via Azure Container Instances. Passare all'esercitazione su Istanze di contenitore di Azure per maggiori informazioni.Continue to the Azure Container Instances tutorial for a deeper look at ACI.