Guida introduttiva: creare un registro contenitori privato usando Azure PowerShellQuickstart: Create a private container registry using Azure PowerShell

Registro Azure Container è un servizio gestito e privato di registri contenitori Docker usato per compilare, archiviare e servire immagini del contenitore Docker.Azure Container Registry is a managed, private Docker container registry service for building, storing, and serving Docker container images. In questa guida introduttiva si apprenderà come creare un registro contenitori di Azure usando PowerShell.In this quickstart, you learn how to create an Azure container registry using PowerShell. 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.

PrerequisitiPrerequisites

Nota

Questo articolo è stato aggiornato per usare il nuovo modulo Az di Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Per altre informazioni sul nuovo modulo Az e sulla compatibilità di AzureRM, vedere Introduzione del nuovo modulo Az di Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Per istruzioni sull'installazione, vedere Installare Azure PowerShell.For installation instructions, see Install Azure PowerShell.

Per questa guida introduttiva è richiesto il modulo Azure PowerShell.This quickstart requires Azure PowerShell module. Per determinare la versione installata eseguire Get-Module -ListAvailable Az.Run Get-Module -ListAvailable Az to determine your installed version. Se è necessario eseguire l'installazione o l'aggiornamento, vedere come installare il modulo Azure PowerShell.If you need to install or upgrade, see Install Azure PowerShell module.

È anche necessario avere Docker installato localmente.You must also have Docker installed locally. Docker offre pacchetti per i sistemi macOS, Windows e Linux.Docker provides packages for macOS, Windows, and Linux systems.

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.

Accedere ad AzureSign in to Azure

Accedere alla propria sottoscrizione di Azure con il comando Connect-AzAccount e seguire le istruzioni visualizzate.Sign in to your Azure subscription with the Connect-AzAccount command, and follow the on-screen directions.

Connect-AzAccount

Creare un gruppo di risorseCreate resource group

Dopo aver eseguito l'autenticazione con Azure, creare un gruppo di risorse con il comando New-AzResourceGroup.Once you're authenticated with Azure, create a resource group with New-AzResourceGroup. Un gruppo di risorse è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.A resource group is a logical container in which you deploy and manage your Azure resources.

New-AzResourceGroup -Name myResourceGroup -Location EastUS

Creare un registro contenitoriCreate container registry

Successivamente creare un registro contenitori nel nuovo gruppo di risorse con il comando New-AzContainerRegistry.Next, create a container registry in your new resource group with the New-AzContainerRegistry 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. L'esempio seguente crea un registro denominato "myContainerRegistry007".The following example creates a registry named "myContainerRegistry007." Sostituire myContainerRegistry007 nel comando seguente, quindi eseguirlo per creare il registro:Replace myContainerRegistry007 in the following command, then run it to create the registry:

$registry = New-AzContainerRegistry -ResourceGroupName "myResourceGroup" -Name "myContainerRegistry007" -EnableAdminUser -Sku Basic

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.

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 your registry. Negli scenari di produzione è necessario usare una singola identità o entità servizio per l'accesso al registro contenitori, ma per brevità in questa guida introduttiva è sufficiente abilitare l'utente amministratore nel registro con il comando Get-AzContainerRegistryCredential:In production scenarios you should use an individual identity or service principal for container registry access, but to keep this quickstart brief, enable the admin user on your registry with the Get-AzContainerRegistryCredential command:

$creds = Get-AzContainerRegistryCredential -Registry $registry

Successivamente eseguire docker login per eseguire l'accesso:Next, run docker login to log in:

$creds.Password | docker login $registry.LoginServer -u $creds.Username --password-stdin

Il comando restituisce Login Succeeded al termine dell'esecuzione.The command returns Login Succeeded 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

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

Dopo avere usato le risorse create in questa guida introduttiva, usare il comando Remove-AzResourceGroup per rimuovere il gruppo di risorse, il registro contenitori e le immagini del contenitore archiviate in tale registro:Once you're done working with the resources you created in this quickstart, use the Remove-AzResourceGroup command to remove the resource group, the container registry, and the container images stored there:

Remove-AzResourceGroup -Name myResourceGroup

Passaggi successiviNext steps

In questa guida introduttiva è stata creata un'istanza di Registro Azure Container con Azure PowerShell, è stato eseguito il push di un'immagine del contenitore e quindi è stato eseguito il pull per eseguire l'immagine dal registro.In this quickstart, you created an Azure Container Registry with Azure PowerShell, pushed a container image, 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.