Avvio rapido: Usare Configurazione app di Azure in App contenitore di Azure
In questo avvio rapido si userà Configurazione app di Azure in un'app in esecuzione in App contenitore di Azure. In questo modo, è possibile centralizzare l'archiviazione e la gestione della configurazione delle app in App contenitore. Questo avvio rapido usa l'app ASP.NET Core creata in Avvio rapido: Creare un'app ASP.NET Core con Configurazione app. L'app verrà in contenitori e distribuita in App contenitore di Azure. Completare l'avvio rapido prima di continuare.
Suggerimento
Se si segue questo argomento di avvio rapido, è preferibile registrare tutte le nuove risorse all'interno di un singolo gruppo di risorse, in modo che sia possibile raggrupparle tutte in un'unica posizione ed eliminarle più velocemente in un secondo momento, se non sono più necessarie.
Prerequisiti
- Un'applicazione che usa un archivio di Configurazione app. Se non è disponibile, creare un'istanza usando l'Avvio: Creare un'app ASP.NET Core con Configurazione app.
- Un'istanza di App contenitore di Azure. Se non è disponibile, creare un'istanza usando il portale di Azure o l'interfaccia della riga di comando.
- Docker Desktop
- L'interfaccia della riga di comando di Azure
Connettere Configurazione app di Azure all'app contenitore
Nel portale di Azure andare all'istanza dell'App contenitore. Seguire l'avvio rapido Service Connector per App contenitore di Azure per creare una connessione al servizio con l'archivio di Configurazione app usando le impostazioni seguenti.
Nella scheda Informazioni di base:
Nella scheda Autenticazione:
- selezionare tipo di autenticazione Stringa di connessione e Sola lettura per "Autorizzazioni per la stringa di connessione
- Espandere il menu Avanzate. Nelle informazioni di configurazione deve essere presente una variabile di ambiente già creata denominata "AZURE_APPCONFIGURATION_CONNECTIONSTRING". Modificare la variabile di ambiente selezionando l'icona a destra e modificare il nome in ConnectionStrings__AppConfig. È necessario apportare questa modifica perché ConnectionStrings__AppConfig è il nome della variabile di ambiente che l'applicazione compilata nell'avvio rapido ASP.NET Core cercherà. Si tratta della variabile di ambiente che contiene la stringa di connessione per Configurazione app. Se è stata usata un'altra applicazione per seguire questo avvio rapido, usare il nome della variabile di ambiente corrispondente. Quindi seleziona Fatto.
Usare i valori predefiniti per tutti gli altri elementi.
Al termine, una variabile di ambiente denominata ConnectionStrings__AppConfig verrà aggiunta al contenitore dell'App contenitore. Il valore è un riferimento al segreto dell'App contenitore, la stringa di connessione dell'archivio di Configurazione app.
Creare un contenitore
Eseguire il comando dotnet publish per compilare l'app in modalità versione e creare gli asset nella cartella pubblicata.
dotnet publish -c Release -o published
Creare un file denominato Dockerfile nella directory contenente il file con estensione .csproj, aprirlo in un editor di testo e immettere il contenuto seguente. Un Dockerfile è un file di testo che non ha un'estensione e che viene usato per creare un'immagine del contenitore.
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS runtime WORKDIR /app COPY published/ ./ ENTRYPOINT ["dotnet", "TestAppConfig.dll"]
Compilare il contenitore eseguendo il comando seguente.
docker build --tag aspnetapp .
Creare un'istanza di Registro Azure Container
Creare un Registro Azure Container (ACR). L'ACR consente di compilare, archiviare e gestire immagini del contenitore.
- Per creare il registro contenitori, seguire l'avvio rapido di Registro Azure Container.
- Al termine della distribuzione, aprire l'istanza di ACR e nel menu a sinistra selezionare Impostazioni > Chiavi di accesso.
- Prendere nota del valore del Server di accesso elencato in questa pagina. Queste informazioni verranno usate in un passaggio successivo.
- Impostare Utente amministratore su Abilitato. Questa opzione consente di connettere l'ACR a App contenitore di Azure usando le credenziali utente amministratore. In alternativa, è possibile lasciarlo disabilitato e configurare l'app contenitore per eseguire il pull delle immagini dal registro con un'identità gestita.
Eseguire il push delle immagini in Registro Azure Container
Pubblicare l'immagine Docker nell'istanza di ACR creata in precedenza.
Eseguire il comando az acr login per accedere al registro.
az acr login --name myregistry
Il comando restituisce
Login Succeeded
una volta eseguito l'accesso.Usare il tag Docker per contrassegnare i dettagli appropriati dell'immagine.
docker tag aspnetapp myregistry.azurecr.io/aspnetapp:v1
Suggerimento
Per esaminare l'elenco delle immagini e dei tag Docker esistenti, eseguire
docker image ls
. In questo scenario dovrebbero essere visualizzate almeno due immagini:aspnetapp
emyregistry.azurecr.io/aspnetapp
.Usare ora il comando docker push per inviare l'immagine nel registro. Questo esempio crea il repository aspnetapp nell'ACR contenente l'immagine
aspnetapp
. Nell'esempio seguente sostituire i segnaposto<login-server
<image-name>
e<tag>
con il valore del server di accesso dell'ACR, il nome dell'immagine e il tag immagine.Metodo:
docker push <login-server>/<image-name>:<tag>
Esempio:
docker push myregistry.azurecr.io/aspnetapp:v1
Aprire Registro Azure Container nel portale di Azure e verificare che in Repositorysia possibile visualizzare il nuovo repository.
Aggiungere l'immagine del contenitore a App contenitore di Azure
Aggiornare l'App ontenitore per caricare l'immagine del contenitore dall'ACR.
Nel portale di Azure aprire l'istanza di App contenitore di Azure.
Nel menu a sinistra, in Applicazione, selezionare Contenitori.
Selezionare Modifica e distribuisci.
In Immagine contenitore fare clic sul nome dell'immagine del contenitore esistente.
Aggiornare le impostazioni seguenti:
Impostazione Valore suggerito Descrizione Origine immagine Registro Azure Container Per origine immagine selezionare Registro Azure Container. Autenticazione Credenziali di amministratore Usare l'opzione credenziali utente amministratore abilitata in precedenza nel registro contenitori. Se l'utente amministratore non è stato abilitato ma configurato per l'uso di un'identità gestita, è necessario immettere manualmente l'immagine e il tag nel modulo. Registro myregistry.azurecr.io Selezionare il Registro Azure Container creato in precedenza. Immagine aspnetapp Selezionare l'immagine Docker creata e inserita in precedenza nell'ACR. Tag dell'immagine v1 Selezionare il tag immagine dall'elenco. Selezionare Salva e quindi Crea per distribuire l'aggiornamento in App contenitore di Azure.
Andare all'URL di App contenitore di Azure
Nell'istanza di App contenitore di Azure del portale di Azure andare alla scheda Panoramica e aprire l'URL dell'applicazione.
La pagina Web avrà un aspetto simile al seguente:
Pulire le risorse
Se non si vuole continuare a usare le risorse create in questo articolo, eliminare il gruppo di risorse creato qui per evitare addebiti.
Importante
L'eliminazione di un gruppo di risorse è irreversibile. Il gruppo di risorse e tutte le risorse in esso contenute vengono eliminati in modo permanente. Assicurarsi di non eliminare accidentalmente il gruppo di risorse o le risorse sbagliate. Se le risorse per questo articolo sono state create in un gruppo di risorse che contiene altre risorse che si vogliono mantenere, eliminare ogni risorsa singolarmente dal rispettivo riquadro anziché eliminare il gruppo di risorse.
- Accedere al portale di Azure e selezionare Gruppi di risorse.
- Nella casella Filtra per nome immettere il nome del gruppo di risorse.
- Nell'elenco dei risultati selezionare il nome del gruppo di risorse per visualizzare una panoramica.
- Selezionare Elimina gruppo di risorse.
- Verrà chiesto di confermare l'eliminazione del gruppo di risorse. Immettere il nome del gruppo di risorse per confermare e selezionare Elimina.
Dopo qualche istante, il gruppo di risorse e tutte le risorse che contiene vengono eliminati.
Passaggi successivi
Questa guida introduttiva spiega come:
- Configurazione app di Azure connessa a App contenitore di Azure
- Usato Docker per compilare un'immagine del contenitore da un'app ASP.NET Core con le impostazioni di Configurazione app
- Creazione di un'istanza di Registro Azure Container
- Push dell'immagine nell'istanza di Registro Azure Container
- Aggiunta dell'immagine del contenitore a App contenitore di Azure
- Andare all'URL dell'istanza di App contenitore di Azure aggiornata con le impostazioni configurate nell'archivio di Configurazione app.
L'identità gestita consente a una risorsa di Azure di accedere a un'altra senza mantenere i segreti. È possibile semplificare l'accesso da App contenitore ad altre risorse di Azure. Per altre informazioni, vedere come accedere a Configurazione app usando l'identità gestita e come [accedere al Registro Azure Container usando l'identità gestita].
Per informazioni su come configurare l'app Web ASP.NET Core per aggiornare in modo dinamico le impostazioni di configurazione, continuare con l'esercitazione successiva.