Esercizio - Eseguire Istanze di Azure Container

Completato

Creare un contenitore in Azure ed esporlo a Internet con un nome di dominio completo (FQDN).

Importante

Per eseguire questo esercizio è necessario disporre di una propria sottoscrizione di Azure e questo potrebbe comportare dei costi. Se non hai ancora una sottoscrizione di Azure, crea un account gratuito prima di iniziare.

Perché usare Istanze di Azure Container?

Istanze di Azure Container è utile per gli scenari che possono funzionare anche in contenitori isolati, inclusi i processi di compilazione, l'automazione di attività e le applicazioni semplici. Di seguito vengono illustrati alcuni vantaggi:

  • Avvio rapido: i contenitori vengono avviati in pochi secondi.
  • Fatturazione al secondo: i costi vengono addebitati solo mentre il contenitore è in esecuzione.
  • Sicurezza a livello di hypervisor: l'applicazione viene isolata completamente come in una macchina virtuale.
  • Dimensioni personalizzate: è possibile specificare i valori esatti per memoria e core CPU.
  • Archivio permanente: è possibile montare le condivisioni di File di Azure direttamente in un contenitore per recuperare e rendere persistente lo stato.
  • Linux e Windows: consente di pianificare contenitori sia Windows che Linux usando la stessa API.

Per gli scenari in cui si rende necessaria l'orchestrazione completa dei contenitori, quali il rilevamento dei servizi tra più contenitori, la scalabilità automatica e gli aggiornamenti coordinati delle applicazioni, è consigliabile usare il servizio Azure Kubernetes.

Creazione di un contenitore

  1. Accedere al portale di Azure con la sottoscrizione di Azure.

  2. Aprire Azure Cloud Shell dal portale di Azure selezionando l'icona di Cloud Shell. Assicurarsi di selezionare Bash come ambiente Cloud Shell interattivo.

  3. Creare un nuovo gruppo di risorse con il nome learn-deploy-aci-rg in modo da semplificare la pulizia di queste risorse quando si è terminato di lavorare con il modulo. Se si sceglie un nome di gruppo di risorse diverso, ricordarlo per gli altri esercizi di questo modulo. È anche necessario scegliere un'area in cui si vuole creare il gruppo di risorse; ad esempio, Stati Uniti orientali.

    az group create --name learn-deploy-aci-rg --location eastus
    

    Creare un contenitore specificando un nome, un'immagine Docker e un gruppo di risorse di Azure al comando az container create. Facoltativamente, è possibile esporre il contenitore in Internet specificando un'etichetta del nome DNS. In questo esempio distribuire un contenitore che ospita una piccola app Web. È anche possibile selezionare la posizione in cui posizionare l'immagine; viene usata l'area Stati Uniti orientali, ma è possibile modificarla con una località vicina.

  4. Specificare un nome DNS per esporre il contenitore a Internet. Il nome DNS deve essere univoco. Ai fini di apprendimento, eseguire questo comando da Cloud Shell per creare una variabile Bash contenente un nome univoco:

    DNS_NAME_LABEL=aci-demo-$RANDOM
    
  5. Eseguire il comando az container create seguente per avviare un'istanza del contenitore:

    az container create \
      --resource-group learn-deploy-aci-rg \
      --name mycontainer \
      --image mcr.microsoft.com/azuredocs/aci-helloworld \
      --ports 80 \
      --dns-name-label $DNS_NAME_LABEL \
      --location eastus
    

    $DNS_NAME_LABEL specifica il nome DNS. Il nome dell'immagine, azuredocs/aci-helloworld, si riferisce a un'immagine del contenitore ospitata in Microsoft Container Registry che esegue un'applicazione Web Node.js di base.

  6. Al termine del comando az container create, eseguire az container show per verificarne lo stato:

    az container show \
      --resource-group learn-deploy-aci-rg \
      --name mycontainer \
      --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" \
      --output table
    

    Si ottiene il nome di dominio completo (FQDN) del contenitore e il relativo stato di provisioning. Ecco un esempio:

    FQDN                                    ProvisioningState
    --------------------------------------  -------------------
    aci-demo-0000.eastus.azurecontainer.io  Succeeded
    

    Se il contenitore si trova nello stato Creazione, attendere alcuni istanti ed eseguire di nuovo il comando fino a visualizzare lo stato Riuscito.

  7. Aprire un browser e passare al nome di dominio completo del contenitore per vederlo in esecuzione. Assicurarsi di immettere il prefisso http:// davanti alla stringa aci-demo.... Dovrebbe essere visualizzata questa pagina di benvenuto:

    Screenshot of the sample Node.js container app running in a browser.

Riepilogo

È stata creata un'istanza di contenitore di Azure per eseguire un server Web e un'applicazione. L'accesso all'applicazione è stato anche eseguito mediante il nome FQDN dell'istanza di contenitore.