Condividi tramite


Esercitazione: Distribuire un'applicazione contenitore in Azure Container Instances

Questa è l'esercitazione finale in una serie in tre parti. Nelle versioni precedenti della serie è stata creata un'immagine del contenitore ed è statoeseguito il push in Registro Azure Container. Questo articolo completa la serie distribuendo il contenitore in Istanze di Azure Container.

In questa esercitazione, farai:

  • Distribuire il contenitore da Azure Container Registry a Azure Container Instances
  • Visualizzare l'applicazione in esecuzione nel browser
  • Visualizzare i log del contenitore

Prima di iniziare

Per completare questa esercitazione, è necessario soddisfare i requisiti seguenti:

Interfaccia della riga di comando di Azure: è necessario che nel computer locale sia installata l'interfaccia della riga di comando di Azure versione 2.0.29 o successiva. Per trovare la versione, eseguire az --version. Se hai bisogno di installare o aggiornare, consulta Installare l'interfaccia a riga di comando di Azure.

Docker: questa esercitazione presuppone una conoscenza di base dei concetti principali di Docker, ad esempio contenitori, immagini del contenitore e comandi di base docker . Per una panoramica dei concetti fondamentali relativi a Docker e ai contenitori, vedere Docker overview (Panoramica di Docker).

Docker: per completare questa esercitazione, è necessario installare Docker in locale. Docker offre pacchetti per la configurazione dell'ambiente Docker in macOS, Windows e Linux.

Importante

Poiché Azure Cloud Shell non include il daemon Docker, è necessario installare sia l'interfaccia della riga di comando di Azure che il motore Docker nel computer locale per completare questa esercitazione. Non è possibile usare Azure Cloud Shell per questa esercitazione.

Distribuire il contenitore usando l'interfaccia della riga di comando di Azure

In questa sezione si usa l'interfaccia della riga di comando di Azure per distribuire l'immagine costruita nella prima esercitazione e inviata ad Azure Container Registry nella seconda esercitazione. Assicurarsi di completare queste esercitazioni prima di procedere.

Ottenere le credenziali del registro

Quando si distribuisce un'immagine ospitata in un registro azure container privato come quello creato nella seconda esercitazione, è necessario fornire le credenziali per accedere al Registro di sistema.

Una procedura consigliata per molti scenari consiste nel creare e configurare un'entità servizio di Microsoft Entra con autorizzazioni pull per il registro. Consultare Authenticate with Azure Container Registry from Azure Container Instances per gli script di esempio per creare un principale del servizio con le autorizzazioni necessarie. Prendere nota dell'ID e della password dell'entità servizio. Queste credenziali vengono usate per accedere al Registro di sistema quando si distribuisce il contenitore.

È anche necessario il nome completo del server di accesso del registro contenitori (sostituire <acrName> con il nome del registro):

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

Distribuire un contenitore

Usare ora il comando az container create per distribuire il contenitore. Sostituire <acrLoginServer> con il valore ottenuto dal comando precedente. Sostituire <service-principal-ID> e <service-principal-password> con l'ID entità servizio e la password creati per accedere al registro. Sostituire <aciDnsLabel> con un nome DNS desiderato.

az container create --resource-group myResourceGroup --name aci-tutorial-app --image <acrLoginServer>/aci-tutorial-app:v1 --cpu 1 --memory 1 --registry-login-server <acrLoginServer> --registry-username <service-principal-ID> --registry-password <service-principal-password> --ip-address Public --dns-name-label <aciDnsLabel> --ports 80

Entro pochi secondi, si dovrebbe ricevere una risposta iniziale da Azure. Il --dns-name-label valore deve essere univoco all'interno dell'area di Azure creata dall'istanza del contenitore. Modificare il valore nel comando precedente se viene visualizzato un messaggio di errore relativo all'etichetta del nome DNS quando si esegue il comando.

Verificare lo stato di avanzamento della distribuzione

Per visualizzare lo stato della distribuzione, usare az container show:

az container show --resource-group myResourceGroup --name aci-tutorial-app --query instanceView.state

Ripetere il comando az container show fino a quando lo stato non passa da In sospeso a In esecuzione, che dovrebbe richiedere meno di un minuto. Quando il contenitore è In esecuzione, passare al passaggio successivo.

Visualizzare i log dell'applicazione e del contenitore

Al termine della distribuzione, visualizzare il nome di dominio completo (FQDN) del contenitore con il comando az container show :

az container show --resource-group myResourceGroup --name aci-tutorial-app --query ipAddress.fqdn

Per esempio:

"aci-demo.eastus.azurecontainer.io"

Per visualizzare l'applicazione in esecuzione, passare al nome DNS visualizzato nel browser preferito:

App Ciao Mondo nel browser

È anche possibile visualizzare l'output del log del contenitore:

az container logs --resource-group myResourceGroup --name aci-tutorial-app

Output di esempio:

listening on port 80
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET / HTTP/1.1" 200 1663 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET /favicon.ico HTTP/1.1" 404 150 "http://aci-demo.eastus.azurecontainer.io/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

Pulire le risorse

Se non sono più necessarie risorse create in questa serie di esercitazioni, è possibile eseguire il comando az group delete per rimuovere il gruppo di risorse e tutte le risorse contenute. Questo comando elimina il registro contenitori creato, il contenitore in esecuzione e tutte le risorse correlate.

az group delete --name myResourceGroup

Passaggi successivi

Nel presente tutorial, è stato completato il processo di distribuzione del contenitore nelle Istanze di Container di Azure. Sono stati completati i passaggi seguenti:

  • Ha distribuito il contenitore dal Registro di Container di Azure usando l'Azure CLI.
  • Visualizzazione dell'applicazione nel browser
  • Visualizzare i log dei contenitori

Dopo aver appreso le nozioni di base, passare a altre informazioni su Istanze di Azure Container, ad esempio il funzionamento dei gruppi di contenitori:

Gruppi di contenitori in Istanze di Azure Container