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
- Registro Azure Container: creare un registro di contenitori nella sottoscrizione di Azure. Ad esempio, usare il 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 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:
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.