Distribuire un contenitore in Istanze di contenitore di AzureDeploy a container to Azure Container Instances

Questa è l'ultima di un'esercitazione in tre parti.This is the last of a three-part tutorial. Nelle sezioni precedenti, un'immagine del contenitore è stata creata e inserita in un'istanza di Registro contenitori di Azure.In previous sections, a container image was created and pushed to an Azure Container Registry. Questa sezione completa l'esercitazione distribuendo il contenitore in Istanze di contenitore di Azure.This section completes the tutorial by deploying the container to Azure Container Instances. I passaggi completati comprendono:Steps completed include:

  • Distribuzione del contenitore da Registro contenitori di Azure tramite l'interfaccia della riga di comando di AzureDeploying the container from the Azure Container Registry using the Azure CLI
  • Visualizzazione dell'applicazione nel browserViewing the application in the browser
  • Visualizzare i log dei contenitoriViewing the container logs

Prima di iniziareBefore you begin

Per questa esercitazione è necessario eseguire l'interfaccia della riga di comando di Azure versione 2.0.21 o successiva.This tutorial requires that you are running the Azure CLI version 2.0.21 or later. Eseguire az --version per trovare la versione.Run az --version to find the version. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure 2.0.If you need to install or upgrade, see Install Azure CLI 2.0.

Per completare questa esercitazione è necessario un ambiente di sviluppo Docker.To complete this tutorial, you need a Docker development environment. Docker offre pacchetti che consentono di configurare facilmente Docker in qualsiasi sistema Mac, Windows o Linux.Docker provides packages that easily configure Docker on any Mac, Windows, or Linux system.

Azure Cloud Shell non include i componenti di Docker necessari per completare ogni passaggio di questa esercitazione.Azure Cloud Shell does not include the Docker components required to complete every step this tutorial. È quindi consigliabile un'installazione locale dell'ambiente di sviluppo dell'interfaccia della riga di comando di Azure e di Docker.Therefore, we recommend a local installation of the Azure CLI and Docker development environment.

Distribuire il contenitore tramite l'interfaccia della riga di comando di AzureDeploy the container using the Azure CLI

L'interfaccia della riga di comando di Azure consente di distribuire un contenitore in Istanze di contenitore di Azure con un unico comando.The Azure CLI enables deployment of a container to Azure Container Instances in a single command. L'immagine del contenitore è ospitata nell'istanza privata di Registro contenitori di Azure, quindi è necessario includere le credenziali necessarie per l'accesso.Since the container image is hosted in the private Azure Container Registry, you must include the credentials required to access it. Se necessario, è possibile trovarle con una query come illustrato di seguito.If necessary, you can query them as shown below.

Server di accesso del registro contenitori (sostituire con il nome del registro):Container registry login server (update with your registry name):

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

Password del registro contenitori:Container registry password:

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

Per distribuire l'immagine del contenitore dal registro contenitori con una richiesta di risorse di 1 core CPU e 1 GB di memoria, eseguire il comando seguente:To deploy your container image from the container registry with a resource request of 1 CPU core and 1 GB of memory, run the following command. Sostituire <acrLoginServer> e <acrPassword> con i valori ottenuti dai due comandi precedenti.Replace <acrLoginServer> and <acrPassword> with the values you obtained from the previous two commands.

az container create --name aci-tutorial-app --image <acrLoginServer>/aci-tutorial-app:v1 --cpu 1 --memory 1 --registry-password <acrPassword> --ip-address public --ports 80 -g myResourceGroup

Entro pochi secondi si dovrebbe ricevere una risposta iniziale da Azure Resource Manager.Within a few seconds, you should receive an initial response from Azure Resource Manager. Per visualizzare lo stato della distribuzione, usare il comando az container show:To view the state of the deployment, use az container show:

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

Ripetere il comando az container show fino a quando lo stato cambia da In sospeso a In esecuzione, operazione che dovrebbe richiedere meno di un minuto.Repeat the az container show command until the state changes from Pending to Running, which should take under a minute. Quando il contenitore è In esecuzione, procedere al passaggio successivo.When the container is Running, proceed to the next step.

Visualizzare l'applicazione e i log dei contenitoriView the application and container logs

Quando la distribuzione ha esito positivo, visualizzare l'indirizzo IP pubblico del contenitore con il comando az container show:Once the deployment succeeds, display the container's public IP address with the az container show command:

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

Output di esempio: "13.88.176.27"Example output: "13.88.176.27"

Per visualizzare l'applicazione in esecuzione, esplorare l'indirizzo IP pubblico nel browser preferito.To see the running application, navigate to the public IP address in your favorite browser.

App Hello World nel browser

È anche possibile visualizzare l'output del log del contenitore:You can also view the log output of the container:

az container logs --name aci-tutorial-app -g myResourceGroup

Output:Output:

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://13.88.176.27/" "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 risorseClean up resources

Se non è più necessaria alcuna delle risorse create in questa serie di esercitazioni, è possibile eseguire il comando az group delete per rimuovere il gruppo di risorse e tutte le risorse in esso contenute.If you no longer need any of the resources you created in this tutorial series, you can execute the az group delete command to remove the resource group and all resources it contains. Questo comando elimina il registro del contenitore creato, nonché il contenitore in esecuzione e tutte le risorse correlate.This command deletes the container registry you created, as well as the running container, and all related resources.

az group delete --name myResourceGroup

Passaggi successiviNext steps

In questa esercitazione sono stati distribuiti contenitori in Istanze di contenitore di Azure.In this tutorial, you completed the process of deploying your containers to Azure Container Instances. Sono stati completati i passaggi seguenti:The following steps were completed:

  • Distribuzione del contenitore da Registro contenitori di Azure tramite l'interfaccia della riga di comando di AzureDeploying the container from the Azure Container Registry using the Azure CLI
  • Visualizzazione dell'applicazione nel browserViewing the application in the browser
  • Visualizzare i log dei contenitoriViewing the container logs