Share via


Snabbstart: Använda Azure App Configuration i Azure Container Apps

I den här snabbstarten använder du Azure App Configuration i en app som körs i Azure Container Apps. På så sätt kan du centralisera lagringen och hanteringen av konfigurationen av dina appar i Container Apps. Den här snabbstarten använder ASP.NET Core-appen som skapades i Snabbstart: Skapa en ASP.NET Core-app med App Configuration. Du kommer att containerisera appen och distribuera den till Azure Container Apps. Slutför snabbstarten innan du fortsätter.

Tips

När du följer den här snabbstarten bör du helst registrera alla nya resurser i en enskild resursgrupp, så att du kan gruppera om dem på en enda plats och ta bort dem snabbare senare om du inte behöver dem längre.

Förutsättningar


Ansluta Azure App Configuration till containerappen

I Azure Portal navigerar du till containerappinstansen. Följ snabbstarten för Service Connector för Azure Container Apps för att skapa en tjänstanslutning till din App Configuration store med hjälp av inställningarna nedan.

  • På fliken Grundläggande :

    • välj App Configuration för tjänsttyp

    • välj din App Configuration butik för "App Configuration"

      Skärmbild av Azure-plattformen som visar ett formulär i menyn Tjänstanslutning i en containerapp.

  • På fliken Autentisering :

    • välj autentiseringstyp för anslutningssträng och skrivskyddad för "Behörigheter för anslutningssträngen
    • expandera menyn Avancerat . I konfigurationsinformationen bör det redan finnas en miljövariabel som redan har skapats med namnet "AZURE_APPCONFIGURATION_CONNECTIONSTRING". Redigera miljövariabeln genom att välja ikonen till höger och ändra namnet till ConnectionStrings__AppConfig. Vi måste göra den här ändringen eftersom ConnectionStrings__AppConfig är namnet på miljövariabeln som programmet som skapats i ASP.NET Core snabbstart söker efter. Det här är miljövariabeln som innehåller anslutningssträngen för App Configuration. Om du har använt ett annat program för att följa den här snabbstarten använder du motsvarande miljövariabelnamn. Välj sedan Done (Klar).
  • Använd standardvärden för allt annat.

När det är klart läggs en miljövariabel med namnet ConnectionStrings__AppConfig till i containern för containerappen. Dess värde är en referens till containerappens hemlighet, anslutningssträngen för din App Configuration store.

Skapa en container

  1. Kör kommandot dotnet publish för att skapa appen i versionsläge och skapa tillgångarna i den publicerade mappen.

    dotnet publish -c Release -o published
    
  2. Skapa en fil med namnet Dockerfile i katalogen som innehåller .csproj-filen, öppna den i en textredigerare och ange följande innehåll. En Dockerfile är en textfil som inte har något tillägg och som används för att skapa en containeravbildning.

    FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS runtime
    WORKDIR /app
    COPY published/ ./
    ENTRYPOINT ["dotnet", "TestAppConfig.dll"]
    
  3. Skapa containern genom att köra följande kommando.

    docker build --tag aspnetapp .
    

Skapa en Azure Container Registry-instans

Skapa en Azure Container Registry (ACR). Med ACR kan du skapa, lagra och hantera containeravbildningar.

  1. Om du vill skapa containerregistret följer du snabbstarten Azure Container Registry.
  2. När distributionen är klar öppnar du ACR-instansen och väljer Inställningar > Åtkomstnycklar i den vänstra menyn.
  3. Anteckna värdet för inloggningsservern som visas på den här sidan. Du använder den här informationen i ett senare steg.
  4. Växla Admin användare till Aktiverad. Med det här alternativet kan du ansluta ACR till Azure Container Apps med administratörsanvändarautentiseringsuppgifter. Du kan också låta den vara inaktiverad och konfigurera containerappen så att den hämtar avbildningar från registret med en hanterad identitet.

Push-överför bilden till Azure Container Registry

Push-överför Docker-avbildningen till den ACR som skapades tidigare.

  1. Kör kommandot az acr login för att logga in i registret.

    az acr login --name myregistry
    

    Kommandot returnerar Login Succeeded när inloggningen har slutförts.

  2. Använd docker-taggen för att tagga lämplig information om avbildningen.

    docker tag aspnetapp myregistry.azurecr.io/aspnetapp:v1
    

    Tips

    Om du vill granska listan över dina befintliga Docker-avbildningar och taggar kör du docker image ls. I det här scenariot bör du se minst två bilder: aspnetapp och myregistry.azurecr.io/aspnetapp.

  3. Använd docker push för att push-överföra avbildningen till containerregistret. Det här exemplet skapar aspnetapplagringsplatsen i ACR som innehåller avbildningen aspnetapp . I exemplet nedan ersätter du platshållarna <login-serveroch <image-name><tag> med ACR:s inloggningsservervärde, avbildningsnamnet och avbildningstaggen.

    Metod:

    docker push <login-server>/<image-name>:<tag>
    

    Exempel:

    docker push myregistry.azurecr.io/aspnetapp:v1
    
  4. Öppna din Azure Container Registry i Azure Portal och bekräfta att du kan se din nya lagringsplats under Lagringsplatser.

    Skärmbild av Azure-plattformen som visar en lagringsplats i Azure Container Registries.

Lägga till containeravbildningen i Azure Container Apps

Uppdatera containerappen för att läsa in containeravbildningen från din ACR.

  1. Öppna din Azure Container Apps-instans i Azure Portal.

  2. I den vänstra menyn, under Program, väljer du Containrar.

  3. Välj Redigera och distribuera.

  4. Under Containeravbildning klickar du på namnet på den befintliga containeravbildningen.

  5. Uppdatera följande inställningar:

    Inställning Föreslaget värde Beskrivning
    Bildkälla Azure Container Registry Välj Azure Container Registry som bildkälla.
    Autentisering Admin autentiseringsuppgifter Använd alternativet administratörsanvändares autentiseringsuppgifter som aktiverades tidigare i containerregistret. Om du inte har aktiverat administratörsanvändaren men konfigurerat att använda en hanterad identitet måste du ange avbildningen och taggen manuellt i formuläret.
    Register myregistry.azurecr.io Välj den Azure Container Registry som du skapade tidigare.
    Bild aspnetapp Välj docker-avbildningen som du skapade och push-överförde till ACR tidigare.
    Bildtagg v1 Välj din bildtagg i listan.
  6. Välj Spara och sedan Skapa för att distribuera uppdateringen till Azure Container App.

Bläddra till URL:en för Azure Container App

I Azure Portal går du till fliken Översikt i Azure Container Apps-instansen och öppnar program-URL:en.

Webbsidan ser ut så här:

Skärmbild av en webbläsare som visar appen som körs.

Rensa resurser

Om du inte vill fortsätta använda resurserna som skapades i den här artikeln tar du bort resursgruppen som du skapade här för att undvika kostnader.

Viktigt

Att ta bort en resursgrupp kan inte ångras. Resursgruppen och alla resurser i den tas bort permanent. Se till att du inte oavsiktligt tar bort fel resursgrupp eller resurser. Om du har skapat resurserna för den här artikeln i en resursgrupp som innehåller andra resurser som du vill behålla tar du bort varje resurs individuellt från respektive fönster i stället för att ta bort resursgruppen.

  1. Logga in på Azure Portal och välj Resursgrupper.
  2. I rutan Filtrera efter namn anger du namnet på resursgruppen.
  3. I resultatlistan väljer du resursgruppens namn för att se en översikt.
  4. Välj Ta bort resursgrupp.
  5. Du blir ombedd att bekräfta borttagningen av resursgruppen. Ange namnet på resursgruppen för att bekräfta och välj Ta bort.

Efter en liten stund tas resursgruppen och alla dess resurser bort.

Nästa steg

I den här snabbstarten kommer du att göra följande:

  • Anslutna Azure App Configuration till Azure Container Apps
  • Använde Docker för att skapa en containeravbildning från en ASP.NET Core app med App Configuration inställningar
  • Skapade en Azure Container Registry-instans
  • Push-överförde avbildningen till Azure Container Registry-instansen
  • Containeravbildningen har lagts till i Azure Container Apps
  • Bläddrade till URL:en för Azure Container Apps-instansen som uppdaterats med de inställningar som du konfigurerade i din App Configuration store.

Den hanterade identiteten gör det möjligt för en Azure-resurs att komma åt en annan utan att du underhåller hemligheter. Du kan effektivisera åtkomsten från Container Apps till andra Azure-resurser. Mer information finns i komma åt App Configuration med hjälp av den hanterade identiteten och hur du [får åtkomst till Container Registry med hjälp av den hanterade identiteten].

Om du vill lära dig hur du konfigurerar din ASP.NET Core webbapp för dynamisk uppdatering av konfigurationsinställningar fortsätter du till nästa självstudie.