Avvio rapido: Creare un registro contenitori privato usando l'interfaccia della riga di comando di Azure
Registro Azure Container è un servizio registro privato per la creazione, l'archiviazione e la gestione delle immagini di contenitori e degli artefatti correlati. In questa Guida rapida è stata creata un'istanza di Registro Azure Container con l'interfaccia della riga di comando di Azure. 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.
Questa guida introduttiva richiede l'esecuzione dell'interfaccia della riga di comando di Azure (consigliata la versione 2.0.55 o successive). Eseguire az --version
per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.
È anche necessario avere Docker installato localmente. Docker offre pacchetti che consentono di configurare facilmente Docker in qualsiasi sistema macOS, Windows o 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.
Creare un gruppo di risorse
Creare un gruppo di risorse con il comando az group create. Un gruppo di risorse di Azure è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.
L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella località stati uniti orientali.
az group create --name myResourceGroup --location eastus
Creare un registro contenitori
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. Per informazioni dettagliate sui livelli di servizio disponibili, vedere Livelli di servizio del registro contenitori.
Creare un'istanza di Registro Azure Container usando il comando az acr create. Il nome del registro deve essere univoco in Azure e contenere da 5 a 50 caratteri minuscoli alfanumerici. Nell'esempio seguente viene usato mycontainerregistry. Aggiornarlo a un valore univoco.
az acr create --resource-group myResourceGroup \
--name mycontainerregistry --sku Basic
Quando il registro viene creato, si ottiene un output analogo al seguente:
{
"adminUserEnabled": false,
"creationDate": "2019-01-08T22:32:13.175925+00:00",
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/mycontainerregistry",
"location": "eastus",
"loginServer": "mycontainerregistry.azurecr.io",
"name": "mycontainerregistry",
"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). Nella parte restante di questa guida di avvio rapido, <registry-name>
è un segnaposto per il nome del registro contenitori e <login-server>
è un segnaposto per il nome del server di accesso del registro.
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. A questo scopo, usare il comando az acr login. Quando si accede con l'interfaccia della riga di comando di Azure, specificare solo il nome della risorsa del registro. Non usare il nome completo del server di accesso.
az acr login --name <registry-name>
Esempio:
az acr login --name mycontainerregistry
Il comando restituisce un messaggio 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
Elencare le immagini del contenitore
L'esempio seguente elenca i repository presenti nel registro:
az acr repository list --name <registry-name> --output table
Output:
Result
----------------
hello-world
L'esempio seguente elenca i tag nel repository hello-world.
az acr repository show-tags --name <registry-name> --repository hello-world --output table
Output:
Result
--------
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
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.
az group delete --name myResourceGroup
Passaggi successivi
In questa guida di avvio rapido è 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. Per maggiori informazioni su Registro Azure Container, passare alle relative esercitazioni.