Distribuire un'app Web Go in App Azure Container
In questa guida introduttiva si apprenderà come distribuire un'app Web Go in contenitori in App Contenitore di Azure.
App Contenitore di Azure consente di eseguire il codice dell'applicazione in un pacchetto in qualsiasi contenitore senza dover gestire complesse infrastrutture cloud o agenti di orchestrazione di contenitori complessi e senza preoccuparsi del runtime o del modello di programmazione. Gli usi comuni delle app contenitore di Azure includono: distribuzione di endpoint API, hosting di applicazioni di elaborazione in background, gestione dell'elaborazione guidata dagli eventi ed esecuzione di microservizi.
Seguire questa esercitazione per completare la creazione di un'immagine Docker, la distribuzione di tale immagine in Registro Azure Container e la distribuzione di un'app Web Go in App Contenitore di Azure.
Prerequisiti
- Sottoscrizione di Azure: se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
- Vai installato: versione 1.18 o successiva
- Docker Desktop
Scaricare l'app di esempio
Per seguire questa esercitazione, è necessaria un'applicazione di esempio da inserire in contenitori. Un'app Web Go di esempio è disponibile nel repository GitHub msdocs-go-webapp-quickstart . Scaricare o clonare l'applicazione di esempio nella workstation locale.
git clone https://github.com/Azure-Samples/msdocs-go-webapp-quickstart.git
cd msdocs-go-webapp-quickstart
Creare un Registro Azure Container
Registro Azure Container consente di compilare, archiviare e gestire immagini del contenitore. Verrà usato per archiviare l'immagine Docker che contiene l'app Web Go di esempio fornita nel repository di esempio indicato in precedenza.
Eseguire i comandi seguenti per creare un Registro Azure Container:
Crea gruppo di risorse di Azure.
az group create \ --name <resourceGroupName> \ --location eastus
Creare un Registro Azure Container.
az acr create \ --resource-group <resourceGroupName> \ --name <azureContainerRegistryName> \ --sku basic \ --admin-enabled true
Accedere all'istanza del contenitore di Azure.
az acr login --name <azureContainerRegistryName>
Sostituire <resourceGroupName>
e <azureContainerRegistryName>
con i valori appropriati. Si noti che il nome Registro Azure Container deve essere univoco a livello globale.
Compilare ed eseguire il push dell'immagine Docker
Dopo aver creato un Registro Azure Container, compilare ed eseguire il push dell'immagine Docker dell'app Web Go di esempio.
Eseguire i comandi seguenti per compilare ed eseguire il push dell'immagine nel Registro di sistema:
Ottenere le informazioni sul server di accesso.
az acr show \ --name <azureContainerRegistryName> \ --resource-group <resourceGroupName> \ --query loginServer \ --output tsv
Compilare l'immagine Docker in locale.
docker build -t <loginServer>/<imageName>:latest .
Eseguire il push dell'immagine Docker nel Registro Azure Container.
docker push <loginServer>/<imageName>:latest
Verificare che il push dell'immagine sia stato eseguito correttamente in Registro Azure Container.
az acr repository list \ --name <azureContainerRegistryName> \ --output table
Sostituire loginServer
, imageName
e azureContainerRegistryName
con i valori appropriati. Il nome dell'immagine è l'immagine Docker di cui viene eseguito il push in Registro Azure Container e successivamente usata per la distribuzione in App Contenitore di Azure.
Ora che è disponibile un'immagine in Registro Azure Container, è possibile distribuire l'app Contenitore di Azure e il relativo ambiente.
Creare un ambiente di App Azure Container
App Contenitore di Azure non ha la complessità di un agente di orchestrazione dei contenitori, ma ha ancora bisogno di un modo per stabilire limiti sicuri, che è il punto in cui sono disponibili gli ambienti di App Contenitore di Azure. App contenitore distribuite nello stesso ambiente condividono la stessa rete virtuale e scrivono i log nella stessa area di lavoro Log Analytics. Prima di poter distribuire un'app Contenitore di Azure, è necessario un ambiente in cui eseguire la distribuzione.
Eseguire i comandi seguenti per creare un ambiente di App Azure Container:
Ottenere la password dell'amministratore Registro Azure Container.
ACR_PASSWORD=$(az acr credential show \ --name <azureContainerRegistryName> \ --query 'passwords[0].value' \ --out tsv)
Creare un ambiente app contenitore.
az containerapp env create \ --name <containerAppEnvName> \ --resource-group <resourceGroupName> \ --location "East US"
Eseguire la distribuzione in App Azure Container
A questo punto, è stato creato un Registro Azure Container, compilato ed è stato eseguito il push di un'immagine Docker e si è creato un ambiente di App Contenitore di Azure. Tutto ciò che rimane è distribuire l'applicazione.
Eseguire il comando seguente per distribuire l'app Web Go in App Contenitore di Azure:
az containerapp create \
--name <containerAppName> \
--resource-group <resourceGroupName> \
--environment <containerAppEnvName> \
--image "<loginServer>/<imageName>:latest" \
--registry-server "<loginServer>" \
--registry-username "<azureContainerRegistryName>" \
--registry-password "$ACR_PASSWORD" \
--target-port 8080 \
--ingress 'external'
Verificare l'URL dell'app Web
Eseguire il comando seguente dell'interfaccia della riga di comando di Azure per ottenere il nome di dominio completo (nome di dominio completo) dell'ingresso dell'applicazione Web.
APP_FQDN=$(az containerapp show \
--name <containerAppName> \
--resource-group <resourceGroupName> \
--query properties.configuration.ingress.fqdn \
--output tsv)
Eseguire quindi il comando curl sull'FQDN e verificare che l'output rifletta il codice HTML del sito Web.
curl "https://$APP_FQDN"
Pulire le risorse
Al termine dell'app di esempio, è possibile rimuovere tutte le risorse per l'app da Azure. In questo modo si evitano addebiti in corso e la sottoscrizione di Azure non è ordinata. La rimozione del gruppo di risorse rimuove anche tutte le risorse nel gruppo di risorse ed è il modo più rapido per rimuovere tutte le risorse di Azure per l'app.
az group delete \
--name <resourceGroupName> \
--no-wait
Passaggi successivi
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per