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
- Ett program som använder ett App Configuration arkiv. Om du inte har någon skapar du en instans med hjälp av snabbstarten: Skapa en ASP.NET Core app med App Configuration.
- En Azure Container Apps-instans. Om du inte har någon skapar du en instans med hjälp av Azure Portal eller CLI.
- Docker Desktop
- Azure CLI
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 :
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
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
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"]
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.
- Om du vill skapa containerregistret följer du snabbstarten Azure Container Registry.
- När distributionen är klar öppnar du ACR-instansen och väljer Inställningar > Åtkomstnycklar i den vänstra menyn.
- Anteckna värdet för inloggningsservern som visas på den här sidan. Du använder den här informationen i ett senare steg.
- 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.
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.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
ochmyregistry.azurecr.io/aspnetapp
.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-server
och<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
Öppna din Azure Container Registry i Azure Portal och bekräfta att du kan se din nya lagringsplats under Lagringsplatser.
Lägga till containeravbildningen i Azure Container Apps
Uppdatera containerappen för att läsa in containeravbildningen från din ACR.
Öppna din Azure Container Apps-instans i Azure Portal.
I den vänstra menyn, under Program, väljer du Containrar.
Välj Redigera och distribuera.
Under Containeravbildning klickar du på namnet på den befintliga containeravbildningen.
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. 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:
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.
- Logga in på Azure Portal och välj Resursgrupper.
- I rutan Filtrera efter namn anger du namnet på resursgruppen.
- I resultatlistan väljer du resursgruppens namn för att se en översikt.
- Välj Ta bort resursgrupp.
- 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.