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.
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
--ingress
external
, l'app contenitore è accessibile dalla rete Internet pubblica.l'oggetto
target-port
è impostato su8080
in modo che corrisponda alla porta a cui il contenitore è in ascolto per le richieste.Senza una
query
proprietà, la chiamata aaz 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.
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.