Guida introduttiva: Usare Configurazione app di Azure nelle app Azure Container
In questa guida introduttiva si useranno Configurazione app di Azure in un'app in esecuzione in App Azure Container. In questo modo, è possibile centralizzare l'archiviazione e la gestione della configurazione delle app in App contenitore. Questa guida introduttiva 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 la guida introduttiva prima di continuare.
Suggerimento
Seguendo questa guida introduttiva, è 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 Configurazione app. Se non è disponibile, creare un'istanza usando la guida introduttiva: 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
Nella portale di Azure passare all'istanza dell'app contenitore. Seguire la guida introduttiva di Service Connector per App Azure Container per creare una connessione al servizio con l'archivio Configurazione app usando le impostazioni seguenti.
Nella scheda Informazioni di base:
Nella scheda Autenticazione :
- selezionare Tipo di autenticazione della stringa di connessione e Sola lettura per "Autorizzazioni per la stringa di connessione
- espandere il menu Avanzate . Nelle informazioni di configurazione deve essere già creata una variabile di ambiente denominata "AZURE_APPCONFIGURATION_CONNECTIONSTRING". Modificare la variabile di ambiente selezionando l'icona a destra e impostando il nome su ConnectionStrings__AppConfig. È necessario apportare questa modifica perché ConnectionStrings__AppConfig è il nome della variabile di ambiente che l'applicazione compilata nel ASP.NET Core guida introduttiva cercherà. Si tratta della variabile di ambiente che contiene la stringa di connessione per Configurazione app. Se è stata usata un'altra applicazione per seguire questa guida introduttiva, usare il nome della variabile di ambiente corrispondente. Al termine selezionare Done (Fine).
Usare i valori predefiniti per tutti gli altri elementi.
Al termine, al contenitore dell'app contenitore verrà aggiunta una variabile di ambiente denominata ConnectionStrings__AppConfig . Il valore è un riferimento al segreto dell'app contenitore, la stringa di connessione dell'archivio Configurazione app.
Creare un contenitore
Eseguire il comando dotnet publish per compilare l'app in modalità di rilascio 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 (Registro Azure Container). Registro Azure Container consente di compilare, archiviare e gestire le immagini del contenitore.
- Per creare il registro contenitori, seguire la guida introduttiva Registro Azure Container.
- Al termine della distribuzione, aprire l'istanza di Registro Azure Container e scegliere Impostazioni > chiavi di accesso dal menu a sinistra.
- Prendere nota del valore del server di accesso elencato in questa pagina. Queste informazioni verranno usate in un passaggio successivo.
- Impostare Amministrazione utente su Abilitato. Questa opzione consente di connettere il Registro Azure Container ad App Azure Container 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
Eseguire il push dell'immagine Docker nel Registro Azure Container creato in precedenza.
Eseguire il comando az acr login per accedere al Registro di sistema.
az acr login --name myregistry
Il comando viene restituito
Login Succeeded
al termine dell'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 docker push per eseguire il push dell'immagine nel registro contenitori. In questo esempio viene creato il repository aspnetapp in Registro Azure Container contenente l'immagine
aspnetapp
. Nell'esempio seguente sostituire i segnaposto<login-server
<image-name>
e<tag>
con il valore del server di accesso di Registro Azure Container, 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 il Registro Azure Container nel portale di Azure e verificare che in Repository sia possibile visualizzare il nuovo repository.
Aggiungere l'immagine del contenitore ad App Azure Container
Aggiornare l'app contenitore per caricare l'immagine del contenitore dal Registro Azure Container.
Nel portale di Azure aprire l'istanza di App Contenitore di Azure.
Nel menu a sinistra, in Applicazione, selezionare Contenitori.
Selezionare Modifica e distribuzione.
In Immagine contenitore fare clic sul nome dell'immagine del contenitore esistente.
Aggiornare le impostazioni seguenti:
Impostazione Valore consigliato Descrizione Origine immagine Registro Azure Container Selezionare Registro Azure Container come origine dell'immagine. Authentication Credenziali di amministratore Usare l'opzione delle 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 Registro Azure Container in precedenza. Tag dell'immagine v1 Selezionare il tag di immagine dall'elenco. Selezionare Salva e quindi Crea per distribuire l'aggiornamento nell'app Azure Container.
Passare all'URL dell'app Azure Container
Nella portale di Azure, nell'istanza di App Contenitore di Azure passare alla scheda Panoramica e aprire l'URL dell'applicazione.
La pagina Web è simile alla 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
In questo argomento di avvio rapido:
- Configurazione app di Azure connesse ad App Azure Container
- Usato Docker per creare un'immagine del contenitore da un'app ASP.NET Core con 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 ad App Contenitore di Azure
- Passare all'URL dell'istanza di App Azure Container aggiornata con le impostazioni configurate nell'archivio Configurazione app.
L'identità gestita consente a una risorsa di Azure di accedere a un'altra senza gestire i segreti. È possibile semplificare l'accesso da App contenitore ad altre risorse di Azure. Per altre informazioni, vedere come accedere alle Configurazione app usando l'identità gestita e come [accedere a Registro Contenitori usando l'identità gestita].
Per informazioni su come configurare l'app Web ASP.NET Core per aggiornare dinamicamente le impostazioni di configurazione, continuare con l'esercitazione successiva.