Avvio rapido: Creare un registro contenitori privato utilizzando Azure PowerShell
Registro Azure Container è un servizio registro privato per la creazione, l'archiviazione e la gestione delle immagini di contenitori e degli artefatti correlati. In questo avvio rapido, verrà creata un'istanza di registro Azure Container con Azure 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.
Prerequisiti
Nota
È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.
Per questa guida introduttiva è richiesto il modulo Azure PowerShell. Per determinare la versione installata eseguire Get-Module -ListAvailable Az
. Se è necessario eseguire l'installazione o l'aggiornamento, vedere come installare il modulo Azure PowerShell.
È anche necessario avere Docker installato localmente. Docker offre pacchetti per i sistemi macOS, Windows e Linux.
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.
Accedere ad Azure
Accedere alla propria sottoscrizione di Azure con il comando Connect-AzAccount e seguire le istruzioni visualizzate.
Connect-AzAccount
Crea gruppo di risorse
Dopo aver eseguito l'autenticazione con Azure, creare un gruppo di risorse con il comando New-AzResourceGroup. Un gruppo di risorse è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.
New-AzResourceGroup -Name myResourceGroup -Location EastUS
Creare un registro contenitori
Successivamente creare un registro contenitori nel nuovo gruppo di risorse con il comando New-AzContainerRegistry.
Il nome del registro deve essere univoco in Azure e contenere da 5 a 50 caratteri alfanumerici. L'esempio seguente crea un registro denominato "mycontainerregistry" Sostituire mycontainerregistry nel comando seguente, quindi eseguirlo per creare il registro:
$registry = New-AzContainerRegistry -ResourceGroupName "myResourceGroup" -Name "mycontainerregistry" -EnableAdminUser -Sku Basic
Suggerimento
In questa guida di avvio rapido viene creato un registro Basic, ovvero un'opzione ottimizzata in termini di costo per sviluppatori che iniziano a usare Registro Azure Container. Scegliere altri livelli per aumentare la velocità effettiva di archiviazione e immagine e funzionalità, ad esempio la connessione usando un endpoint privato. Per informazioni dettagliate sui livelli di servizio (SKU) disponibili, vedere Livelli di servizio del registro contenitori.
Accedere al registro
Prima di eseguire il push e il pull delle immagini del contenitore, è necessario accedere al registro con il cmdlet Connect-AzContainerRegistry. L'esempio seguente usa le stesse credenziali con cui è stato eseguito l'accesso quando si esegue l'autenticazione in Azure con il cmdlet Connect-AzAccount
.
Nota
Nell'esempio seguente il valore di $registry.Name
è il nome della risorsa, non il nome completo del Registro di sistema.
Connect-AzContainerRegistry -Name $registry.Name
Il comando restituisce Login Succeeded
al termine dell'esecuzione.
Eseguire il push dell'immagine nel registro
Per eseguire il push di un'immagine in un'istanza di Registro Azure Container, è prima di tutto necessario che sia disponibile un'immagine. Se non si dispone ancora di immagini del contenitore locali, eseguire il comando docker pull seguente per eseguire il pull di un'immagine pubblica esistente. Per questo esempio, eseguire il pull dell'immagine hello-world
da Registro Container Microsoft.
docker pull mcr.microsoft.com/hello-world
Prima di poter eseguire il push di un'immagine nel registro, è necessario contrassegnarla con il nome completo del server di accesso al registro. Il nome del server di accesso è nel formato <registry-name>.azurecr.io (deve essere tutto in minuscolo), ad esempio mycontainerregistry.azurecr.io.
Contrassegnare l'immagine usando il comando docker tag. Sostituire <login-server>
con il nome del server di accesso dell'istanza del record di controllo di accesso.
docker tag mcr.microsoft.com/hello-world <login-server>/hello-world:v1
Esempio:
docker tag mcr.microsoft.com/hello-world mycontainerregistry.azurecr.io/hello-world:v1
Usare infine docker push per eseguire il push dell'immagine nell'istanza del registro. Sostituire <login-server>
con il nome del server di accesso dell'istanza del registro. Questo esempio crea il repository hello-world che contiene l'immagine hello-world:v1
.
docker push <login-server>/hello-world:v1
Dopo il push dell'immagine nel registro contenitori, rimuovere l'immagine hello-world:v1
dall'ambiente Docker locale. Si noti che questo comando docker rmi non rimuove l'immagine dal repository hello-world nel Registro Azure Container.
docker rmi <login-server>/hello-world:v1
Eseguire un'immagine dal registro
È possibile ora effettuare il pull ed eseguire l'immagine del contenitore hello-world:v1
dal registro contenitori usando docker run:
docker run <login-server>/hello-world:v1
Output di esempio:
Unable to find image 'mycontainerregistry.azurecr.io/hello-world:v1' locally
v1: Pulling from hello-world
Digest: sha256:662dd8e65ef7ccf13f417962c2f77567d3b132f12c95909de6c85ac3c326a345
Status: Downloaded newer image for mycontainerregistry.azurecr.io/hello-world:v1
Hello from Docker!
This message shows that your installation appears to be working correctly.
[...]
Pulire le risorse
Dopo avere usato le risorse create in questa guida di avvio rapido, usare il comando Remove-AzResourceGroup per rimuovere il gruppo di risorse, il registro contenitori e le immagini del contenitore archiviate in tale registro:
Remove-AzResourceGroup -Name myResourceGroup
Passaggi successivi
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. Per maggiori informazioni su Registro Azure Container, passare alle relative esercitazioni.