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


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:

    • selezionare Configurazione app per Tipo di servizio

    • selezionare l'archivio Configurazione app per "Configurazione app"

      Screenshot della piattaforma Azure che mostra un modulo nel menu Del connettore di servizi in un'app contenitore.

  • 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

  1. 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
    
  2. 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"]
    
  3. 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.

  1. Per creare il registro contenitori, seguire la guida introduttiva Registro Azure Container.
  2. Al termine della distribuzione, aprire l'istanza di Registro Azure Container e scegliere Impostazioni > chiavi di accesso dal menu a sinistra.
  3. Prendere nota del valore del server di accesso elencato in questa pagina. Queste informazioni verranno usate in un passaggio successivo.
  4. 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.

  1. 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.

  2. 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 e myregistry.azurecr.io/aspnetapp.

  3. 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
    
  4. Aprire il Registro Azure Container nel portale di Azure e verificare che in Repository sia possibile visualizzare il nuovo repository.

    Screenshot della piattaforma Azure che mostra un repository in Registri Azure Container.

Aggiungere l'immagine del contenitore ad App Azure Container

Aggiornare l'app contenitore per caricare l'immagine del contenitore dal Registro Azure Container.

  1. Nel portale di Azure aprire l'istanza di App Contenitore di Azure.

  2. Nel menu a sinistra, in Applicazione, selezionare Contenitori.

  3. Selezionare Modifica e distribuzione.

  4. In Immagine contenitore fare clic sul nome dell'immagine del contenitore esistente.

  5. 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.
  6. 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:

Screenshot di un browser Internet che visualizza l'app in esecuzione.

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.

  1. Accedere al portale di Azure e selezionare Gruppi di risorse.
  2. Nella casella Filtra per nome immettere il nome del gruppo di risorse.
  3. Nell'elenco dei risultati selezionare il nome del gruppo di risorse per visualizzare una panoramica.
  4. Selezionare Elimina gruppo di risorse.
  5. 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.