Eseguire il push della prima immagine nel registro Azure Container usando l'interfaccia della riga di comando di Docker

Un Registro Azure Container archivia e gestisce immagini di contenitori private e altri artefatti, analogamente al modo in cui Docker Hub archivia le immagini dei contenitori Docker pubbliche. È possibile usare l'interfaccia della riga di comando Docker (interfaccia della riga di comando Docker) per l'accesso, il push, il pull e altre operazioni di immagine del contenitore nel registro contenitori.

Nei passaggi seguenti si scarica un'immagine Nginx pubblica, contrassegnarla per il registro Azure Container privato, eseguirne il push nel Registro di sistema e quindi eseguirne il pull dal Registro di sistema.

Prerequisiti

  • Registro Azure Container : creare un registro contenitori nella sottoscrizione di Azure. Ad esempio, usare la portale di Azure, l'interfaccia della riga di comando di Azure o Azure PowerShell.
  • Interfaccia della riga di comando di Docker: è anche necessario avere Docker installato localmente. Docker offre pacchetti che consentono di configurare facilmente Docker in qualsiasi sistema macOS, Windows o Linux.

Accedere a un registro

Esistono diversi modi per eseguire l'autenticazione nel registro contenitori privato.

È il metodo consigliato quando si usa una riga di comando è rappresentato dal comando dell'interfaccia della riga di comando di Azure az acr login. Ad esempio, per accedere a un Registro di sistema denominato myregistry, accedere all'interfaccia della riga di comando di Azure e quindi eseguire l'autenticazione nel Registro di sistema:

az login
az acr login --name myregistry

È anche possibile eseguire l'accesso con il comando docker login. Ad esempio, potrebbe essere stata assegnata un'entità servizio al Registro di sistema per uno scenario di automazione. Quando si esegue questo comando, specificare in modo interattivo l'appID dell'entità servizio (nome utente) e la password quando richiesto. Per le procedure consigliate relative alla gestione delle credenziali di accesso, vedere le informazioni di riferimento sul comando docker login:

docker login myregistry.azurecr.io

Entrambi i comandi restituiscono Login Succeeded una volta completati.

Nota

  • È possibile usare Visual Studio Code con l'estensione Docker per un account di accesso più veloce e più pratico.

Suggerimento

Specificare sempre il nome completo (tutto in maiuscolo) del registro quando si usa docker login e quando le immagini vengono contrassegnate per l'esecuzione del push nel registro. Negli esempi riportati in questo articolo il nome completo è myregistry.azurecr.io.

Eseguire il pull di un'immagine Nginx pubblica

Prima di tutto, eseguire il pull di un'immagine Nginx pubblica nel computer locale. Questo esempio esegue il pull dell'immagine Nginx ufficiale.

docker pull nginx

Eseguire il contenitore in locale

Eseguire il comando docker run seguente per avviare un'istanza locale del contenitore Nginx in modo interattivo (-it) sulla porta 8080. L'argomento --rm specifica che il contenitore deve essere rimosso quando si arresta.

docker run -it --rm -p 8080:80 nginx

Passare a http://localhost:8080 per visualizzare la pagina Web predefinita servita da Nginx nel contenitore in esecuzione. Verrà visualizzata una pagina simile alla seguente:

Nginx sul computer locale

Poiché il contenitore è stato avviato in modalità interattiva con -it, è possibile visualizzare l'output del server Nginx nella riga di comando nel browser in uso.

Per arrestare e rimuovere il contenitore, premere Control+C.

Creare un alias dell'immagine

Usare docker tag per creare un alias dell'immagine, con un percorso completo del registro. Questo esempio specifica lo spazio dei nomi samples per evitare confusione nella radice del registro.

docker tag nginx myregistry.azurecr.io/samples/nginx

Per altre informazioni sull'assegnazione di tag con spazi dei nomi, vedere la sezione Spazi dei nomi dell'archivio nell'argomento Procedure consigliate per Registro Azure Container.

Eseguire il push dell'immagine nel registro

Dopo aver contrassegnato l'immagine con il percorso completo del registro privato, è possibile eseguirne il push nel registro con docker push:

docker push myregistry.azurecr.io/samples/nginx

Eseguire il pull dell'immagine dal registro

Usare il comando docker pull per eseguire il pull dell'immagine dal registro:

docker pull myregistry.azurecr.io/samples/nginx

Avviare il contenitore Nginx

Usare il comando docker run per eseguire l'immagine di cui è stato eseguito il pull dal registro:

docker run -it --rm -p 8080:80 myregistry.azurecr.io/samples/nginx

Passare a http://localhost:8080 per visualizzare il contenitore in esecuzione.

Per arrestare e rimuovere il contenitore, premere Control+C.

Rimuovere l'immagine (facoltativo)

Se l'immagine di Nginx non è più necessaria, è possibile eliminarla in locale con il comando docker rmi.

docker rmi myregistry.azurecr.io/samples/nginx

Per rimuovere le immagini dal Registro Azure Container, è possibile usare il comando dell'interfaccia della riga di comando di Azure az acr repository delete. Il comando seguente, ad esempio, elimina il manifesto a cui fa riferimento il tag samples/nginx:latest, tutti i dati di livello univoci e tutti gli altri tag che fanno riferimento al manifesto.

az acr repository delete --name myregistry --image samples/nginx:latest

Consigli

Qui sono disponibili altre informazioni sulle opzioni di autenticazione.

Passaggi successivi

Una volta apprese le nozioni di base, si è pronti per iniziare a usare il registro. È possibile, ad esempio, distribuire le immagini del contenitore dal registro nella posizione seguente:

Installare eventualmente l'estensione Docker per Visual Studio Code e l'estensione Account Azure per l'uso dei registri contenitori di Azure. Eseguire il pull e il push delle immagini in un registro contenitori di Azure o eseguire Attività del Registro Azure Container, il tutto all'interno di Visual Studio Code.