Share via


Esercitazione: Compilare e distribuire l'app in App Azure Container

Questo articolo illustra come compilare e distribuire un microservizio in App Contenitore di Azure da un repository di origine usando il linguaggio di programmazione preferito.

Questa è la prima esercitazione della serie di articoli che illustrano come usare le funzionalità di base all'interno di App Contenitore di Azure. Il primo passaggio consiste nel creare un servizio API Web back-end che restituisce una raccolta statica di album musicali.

Nota

È anche possibile compilare e distribuire questa app usando il comando az containerapp up seguendo le istruzioni riportate nell'articolo Avvio rapido: Compilare e distribuire un'app in App Contenitore di Azure da un repository . Il az containerapp up comando è un modo rapido e pratico per compilare e distribuire l'app in App Azure Container usando un singolo comando. Tuttavia, non fornisce lo stesso livello di personalizzazione per l'app contenitore.

L'esercitazione successiva della serie creerà e distribuirà l'applicazione Web front-end in App Azure Container.

Lo screenshot seguente mostra l'output dell'API album distribuita in questa esercitazione.

Screenshot della risposta dall'endpoint DELL'API degli album.

Prerequisiti

Per completare questo progetto, sono necessari gli elementi seguenti:

Requisito Istruzioni
Account di Azure Se non si dispone di un account, crearne uno gratuitamente. Per continuare, è necessaria l'autorizzazione Collaboratore o Proprietario per la sottoscrizione di Azure.

Per informazioni dettagliate, vedere Assegnare ruoli di Azure usando il portale di Azure.
GitHub Account Iscriversi gratuitamente.
git Installare Git
Interfaccia della riga di comando di Azure Installare l'interfaccia della riga di comando di Azure.
Requisito Istruzioni
Account di Azure Se non si dispone di un account, crearne uno gratuitamente. Per continuare, è necessaria l'autorizzazione Collaboratore o Proprietario per la sottoscrizione di Azure. Per informazioni dettagliate, vedere Assegnare ruoli di Azure usando il portale di Azure.
GitHub Account Iscriversi gratuitamente.
git Installare Git
Interfaccia della riga di comando di Azure Installare l'interfaccia della riga di comando di Azure.
Docker Desktop Docker fornisce programmi di installazione che configurano l'ambiente Docker in macOS, Windows e Linux.

Dal prompt dei comandi digitare docker per assicurarsi che Docker sia in esecuzione.

Attrezzaggio

Per accedere ad Azure dall'interfaccia della riga di comando, eseguire il comando seguente e seguire le istruzioni per completare il processo di autenticazione.

az login

Per assicurarsi di eseguire la versione più recente dell'interfaccia della riga di comando, eseguire il comando di aggiornamento.

az upgrade

Installare o aggiornare quindi l'estensione App Azure Container per l'interfaccia della riga di comando.

az extension add --name containerapp --upgrade

Ora che l'estensione o il modulo corrente è installato, registrare gli Microsoft.App spazi dei nomi e Microsoft.OperationalInsights .

Nota

Le risorse di App Azure Container sono state migrate dallo Microsoft.Web spazio dei nomi allo Microsoft.App spazio dei nomi . Per altri dettagli, vedere Migrazione dello spazio dei nomi da Microsoft.Web a Microsoft.App nel mese di marzo 2022.

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Creare variabili di ambiente

Dopo aver completato la configurazione dell'interfaccia della riga di comando di Azure, è possibile definire le variabili di ambiente usate in questo articolo.

Definire le variabili seguenti nella shell bash.

RESOURCE_GROUP="album-containerapps"
LOCATION="canadacentral"
ENVIRONMENT="env-album-containerapps"
API_NAME="album-api"
FRONTEND_NAME="album-ui"
GITHUB_USERNAME="<YOUR_GITHUB_USERNAME>"

Prima di eseguire questo comando, assicurarsi di sostituire <YOUR_GITHUB_USERNAME> con il nome utente di GitHub.

Definire quindi un nome di registro contenitori univoco.

ACR_NAME="acaalbums"$GITHUB_USERNAME

Preparare il repository GitHub

Passare al repository per la lingua preferita e creare una copia tramite fork del repository.

Selezionare il pulsante Fork nella parte superiore del repository API dell'album per creare una copia tramite fork del repository nell'account.

È ora possibile clonare il fork del repository di esempio.

Usare il comando Git seguente per clonare il repository copiato tramite fork nella cartella code-to-cloud :

git clone https://github.com/$GITHUB_USERNAME/containerapps-albumapi-csharp.git code-to-cloud

Modificare quindi la directory nella radice del repository clonato.

cd code-to-cloud/src

Creare un gruppo di risorse di Azure

Creare un gruppo di risorse per organizzare i servizi correlati alla distribuzione dell'app contenitore.

az group create \
  --name $RESOURCE_GROUP \
  --location "$LOCATION"

Creare un Registro Azure Container

Dopo aver compilato l'immagine del contenitore dell'API album, creare un'istanza di Registro Azure Container (ACR) nel gruppo di risorse per archiviarla.

az acr create \
  --resource-group $RESOURCE_GROUP \
  --name $ACR_NAME \
  --sku Basic \
  --admin-enabled true

Compilare l'applicazione

Con le attività del Registro Azure Container, è possibile compilare ed eseguire il push dell'immagine Docker per l'API album senza installare Docker in locale.

Compilare il contenitore con Registro Azure Container

Eseguire il comando seguente per avviare il processo di compilazione e push dell'immagine usando Registro Azure Container. L'oggetto . alla fine del comando rappresenta il contesto di compilazione docker, ovvero questo comando deve essere eseguito all'interno della cartella src in cui si trova il Dockerfile.

az acr build --registry $ACR_NAME --image $API_NAME .

L'output del az acr build comando mostra lo stato di avanzamento del caricamento del codice sorgente in Azure e i dettagli delle docker build operazioni e docker push .

Compilare l'applicazione

La procedura seguente illustra come compilare l'immagine del contenitore in locale usando Docker ed eseguire il push dell'immagine nel nuovo registro contenitori.

Compilare il contenitore con Docker

Il comando seguente compila un'immagine del contenitore per l'API dell'album e lo contrassegna con il nome completo del server di accesso del Registro Azure Container. L'oggetto . alla fine del comando rappresenta il contesto di compilazione docker, ovvero questo comando deve essere eseguito all'interno della cartella src in cui si trova il Dockerfile.

docker build --tag $ACR_NAME.azurecr.io/$API_NAME .

Eseguire il push dell'immagine nel registro contenitori

Prima di tutto, accedere al Registro Azure Container.

az acr login --name $ACR_NAME

Eseguire ora il push dell'immagine nel registro.

docker push $ACR_NAME.azurecr.io/$API_NAME

Creare un ambiente app contenitore

L'ambiente App Azure Container funge da limite sicuro intorno a un gruppo di app contenitore.

Creare l'ambiente App contenitore usando il comando seguente.

az containerapp env create \
  --name $ENVIRONMENT \
  --resource-group $RESOURCE_GROUP \
  --location "$LOCATION"

Distribuire l'immagine in un'app contenitore

Dopo aver creato un ambiente, è possibile creare e distribuire l'app contenitore con il az containerapp create comando .

Creare e distribuire l'app contenitore con il comando seguente.

az containerapp create \
  --name $API_NAME \
  --resource-group $RESOURCE_GROUP \
  --environment $ENVIRONMENT \
  --image $ACR_NAME.azurecr.io/$API_NAME \
  --target-port 8080 \
  --ingress 'external' \
  --registry-server $ACR_NAME.azurecr.io \
  --query properties.configuration.ingress.fqdn
  • Impostando su --ingressexternal, l'app contenitore è accessibile dalla rete Internet pubblica.

  • l'oggetto target-port è impostato su 8080 in modo che corrisponda alla porta a cui il contenitore è in ascolto per le richieste.

  • Senza una query proprietà, la chiamata a az containerapp create restituisce una risposta JSON che include un set completo di dettagli sull'applicazione. L'aggiunta di un parametro di query filtra l'output solo per il nome di dominio completo (FQDN) dell'app.

Verificare la distribuzione

Copiare il nome di dominio completo in un Web browser. Dal Web browser passare all'endpoint /albums del nome di dominio completo.

Screenshot della risposta dall'endpoint DELL'API degli album.

Pulire le risorse

Se non si intende continuare con l'esercitazione Comunicazione tra microservizi , è possibile rimuovere le risorse di Azure create durante questa guida introduttiva. Eseguire il comando seguente per eliminare il gruppo di risorse insieme a tutte le risorse create in questa guida introduttiva.

az group delete --name $RESOURCE_GROUP

Suggerimento

Problemi? Segnalare il problema in GitHub aprendo un problema nel repository di App contenitore di Azure.

Passaggi successivi

Questo argomento di avvio rapido è il punto di ingresso per un set di esercitazioni progressive che illustrano le varie funzionalità all'interno di App Contenitore di Azure. Continuare per informazioni su come abilitare la comunicazione da un front-end Web che chiama l'API distribuita in questo articolo.