Effettuare il push della prima immagine nel Registro Azure Container tramite l'interfaccia della riga di comando di Docker

Un Registro Azure Container archivia e gestisce le immagini del contenitore private e altri artefatti, in modo analogo a come Docker Hub archivia le immagini del contenitore Docker pubbliche. È possibile usare l'interfaccia della riga di comando di Docker per eseguire l'accesso, il push, il pull e altre operazioni dell'immagine del contenitore sul registro contenitori.

La procedura seguente esegue il download di un'immagine di Nginx pubblica, la contrassegna per il Registro Azure Container privato, ne effettua il push nel registro e quindi ne effettua il pull dal registro.

Prerequisiti

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 denominato myregistry, accedere all'interfaccia della riga di comando di Azure, quindi eseguire l'autenticazione nel registro:

az login
az acr login --name myregistry

È anche possibile eseguire l'accesso con il comando docker login. Ad esempio, è possibile che sia stata assegnata un'entità servizio al registro 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 accesso più rapido e 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

Eseguire prima il pull di un'immagine pubblica di Nginx nel computer locale. In questo esempio viene eseguito il pull di un'immagine Nginx ufficiale.

docker pull nginx

Eseguire il contenitore in locale

Eseguire quindi il comando docker run per avviare l'istanza locale del contenitore Nginx (-it) in modalità interattiva 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 è possibile trovare 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.