Distribuire e usare il Registro contenitori di Azure

Questa è la parte due di un'esercitazione in tre parti. Nel passaggio precedente è stata creta un'immagine del contenitore per una semplice applicazione Web scritta in Node.js. In questa esercitazione viene eseguito il push di questa immagine in un'istanza di Registro contenitori di Azure. Se l'immagine del contenitore non è stata creata, tornare all'Esercitazione 1 - Creare l'immagine del contenitore.

Registro contenitori di Azure è un registro privato basato su Azure per le immagini del contenitore Docker. Questa esercitazione illustra la distribuzione di un'istanza di Registro contenitori di Azure e il push di un'immagine del contenitore in essa. I passaggi completati comprendono:

  • Distribuzione di un'istanza del Registro contenitori di Azure
  • Assegnazione di un tag all'immagine del contenitore per Registro contenitori di Azure
  • Caricamento dell'immagine in Registro contenitori di Azure

Nelle esercitazioni successive si distribuirà il contenitore dal registro privato a Istanze di contenitore di Azure.

Prima di iniziare

Questa esercitazione richiede l'interfaccia della riga di comando di Azure 2.0.4 o versioni 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 2.0.

Distribuire il Registro contenitori di Azure

Prima di distribuire un Registro contenitori di Azure, è necessario che esista un gruppo di risorse. Un gruppo di risorse di Azure è una raccolta logica in cui le risorse di Azure vengono distribuite e gestite.

Creare un gruppo di risorse con il comando az group create. In questo esempio viene creato un gruppo di risorse denominato myResourceGroup nell'area eastus.

az group create --name myResourceGroup --location eastus

Creare un Registro contenitori di Azure con il comando az acr create. Il nome di un registro contenitori deve essere univoco. Nell'esempio seguente si usa il nome mycontainerregistry082.

az acr create --resource-group myResourceGroup --name mycontainerregistry082 --sku Basic --admin-enabled true

Nella parte restante di questa esercitazione si usa <acrname> come segnaposto per il nome del registro contenitori scelto.

Ottenere informazioni su Registro contenitori di Azure

Dopo aver creato il registro contenitori è possibile eseguire una query per trovare il server di accesso e la password. Il codice seguente restituisce questi valori. Prendere nota di ogni valore; in questa esercitazione viene fatto riferimento ad essi.

Server di accesso del registro contenitori (sostituire con il nome del registro):

az acr show --name <acrName> --query loginServer

Nella parte restante di questa esercitazione, si usa <acrLoginServer> come segnaposto per il valore del server di accesso del registro contenitori.

Password del registro contenitori:

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

Nella parte restante di questa esercitazione, si usa <acrPassword> come segnaposto per il valore della password del registro contenitori.

Accedere al registro contenitori

È necessario accedere all'istanza del registro contenitori prima di eseguire il push di immagini. Usare il comando docker login per completare l'operazione. Quando si esegue docker login è necessario fornire il nome del server di accesso e le credenziali del registro.

docker login --username=<acrName> --password=<acrPassword> <acrLoginServer>

Al termine, il comando restituisce un messaggio di accesso riuscito.

Assegnare tag all'immagine del contenitore

Per distribuire un'immagine del contenitore da un registro privato, all'immagine deve essere assegnato un tag con il nome loginServer del registro.

Per visualizzare un elenco di immagini correnti, usare il comando docker images.

docker images

Output:

REPOSITORY                   TAG                 IMAGE ID            CREATED              SIZE
aci-tutorial-app             latest              5c745774dfa9        39 seconds ago       68.1 MB

Applicare all'immagine aci-tutorial-app il tag del server di accesso del registro contenitori. Aggiungere anche :v1 alla fine del nome dell'immagine. Questo tag indica il numero di versione dell'immagine.

docker tag aci-tutorial-app <acrLoginServer>/aci-tutorial-app:v1

Una volta applicato il tag, eseguire docker images per verificare l'operazione.

docker images

Output:

REPOSITORY                                                TAG                 IMAGE ID            CREATED             SIZE
aci-tutorial-app                                          latest              5c745774dfa9        39 seconds ago      68.1 MB
mycontainerregistry082.azurecr.io/aci-tutorial-app        v1                  a9dace4e1a17        7 minutes ago       68.1 MB

Eseguire il push dell'immagine in Registro contenitori di Azure

Eseguire il push dell'immagine aci-tutorial-app nel registro.

Usando l'esempio seguente, sostituire il nome del server di accesso del registro contenitori con il nome del server di accesso dell'ambiente in uso.

docker push <acrLoginServer>/aci-tutorial-app:v1

Elencare le immagini in Registro contenitori di Azure

Per restituire un elenco di immagini di cui è stato eseguito il push nel Registro contenitori di Azure, usare il comando az acr repository list. Aggiornare il comando con il nome del registro contenitori.

az acr repository list --name <acrName> --username <acrName> --password <acrPassword> --output table

Output:

Result
----------------
aci-tutorial-app

Per visualizzare i tag per un'immagine specifica, usare il comando az acr repository show-tags.

az acr repository show-tags --name <acrName> --username <acrName> --password <acrPassword> --repository aci-tutorial-app --output table

Output:

Result
--------
v1

Passaggi successivi

In questa esercitazione è stata preparata un'istanza di Registro contenitori di Azure da usare con Istanze di contenitore di Azure. È stato inoltre eseguito il push dell'immagine del contenitore. Sono stati completati i passaggi seguenti:

  • Distribuzione di un'istanza del Registro contenitori di Azure
  • Assegnazione di un tag all'immagine del contenitore per Registro contenitori di Azure
  • Caricamento dell'immagine in Registro contenitori di Azure

Passare alla prossima esercitazione per informazioni sulla distribuzione del contenitore in Azure con Istanze di contenitore di Azure.