Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek ukazuje, jak aktualizovat aplikaci kontejneru, kterou jste vytvořili v předchozím článku, sestavit a nasadit zdrojový kód do Azure Container Apps.
Pokud jste nedokončili kroky v předchozím článku, po dokončení všech kroků se vraťte sem a vraťte se k tomuto článku.
V tomto kurzu:
- Proveďte změnu kódu v aplikaci.
- Odešlete změny do registru kontejneru s novou značkou.
- Zobrazte aktualizovanou aplikaci v prohlížeči.
- Odešlete dotaz na stream protokolu, aby se zobrazily protokolované zprávy.
Požadavky
K dokončení tohoto projektu potřebujete nástroje, prostředky a kontejnerovou aplikaci vytvořenou v předchozím kurzu, sestavit a nasadit ze zdrojového kódu do Azure Container Apps.
Nastavení
V případě potřeby se přihlaste k Azure z rozhraní příkazového řádku.
az loginVytvořte proměnné prostředí. Pokud proměnné prostředí z posledního kurzu v terminálu stále existují, můžete tento krok přeskočit.
Pokud potřebujete znovu vytvořit proměnné prostředí, musíte nejprve zadat dotaz na název registru kontejneru, který jste vytvořili v posledním článku.
Spuštěním následujícího příkazu zadejte dotaz na registr kontejneru, který jste vytvořili v posledním kurzu.
az acr list --query "[].{Name:name}" --output tableJakmile budete mít název registru kontejneru, nahraďte
<REGISTRY_NAME>názvem registru a spusťte následující příkaz.RESOURCE_GROUP="my-demo-group" CONTAINER_APP_NAME="my-demo-app" REGISTRY_NAME="<REGISTRY_NAME>"Aktualizujte a spusťte zdrojový kód.
Nahraďte obsah
Startup.csnásledujícím kódem.public class Startup { public void ConfigureServices(IServiceCollection services) { } public void Configure(IApplicationBuilder app, ILogger<Startup> logger) { app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapGet("/", async context => { logger.LogInformation("Hello Logger!"); await context.Response.WriteAsync("Hello Logger!"); }); }); } }Tato verze kódu zaregistruje protokolovací nástroj k zápisu informací do konzoly a streamu protokolu Container Apps.
Sestavte projekt v konfiguraci vydané verze.
dotnet build -c ReleasePak spusťte aplikaci a ověřte, že je váš kód implementovaný správně.
dotnet run --configuration Release
Sestavení a nasdílení image do registru
Teď, když je váš kód aktualizovaný, můžete do registru kontejneru odeslat nejnovější verzi jako novou image.
Pokud chcete zajistit, aby byla značka používaná pro váš registr jedinečná, vytvořte název značky pomocí následujícího příkazu.
IMAGE_TAG=$(date +%s)
Teď můžete vytvořit a odeslat novou image kontejneru do registru pomocí následujícího příkazu.
az acr build \
-t $REGISTRY_NAME.azurecr.io/$CONTAINER_APP_NAME:$IMAGE_TAG \
-r $REGISTRY_NAME .
Vytvoření nové revize
Novou revizi aplikace kontejneru můžete vytvořit na základě nové image kontejneru, kterou jste odeslali do registru.
az containerapp revision copy \
--name $CONTAINER_APP_NAME \
--resource-group $RESOURCE_GROUP \
--image "$REGISTRY_NAME.azurecr.io/$CONTAINER_APP_NAME:$IMAGE_TAG" \
--output none
Příkaz revision copy vytvoří novou revizi vaší aplikace kontejneru se zadanou imagí kontejneru z registru.
Ověření nasazení
Teď, když je vaše aplikace nasazená, můžete pomocí tohoto příkazu zadat dotaz na adresu URL.
az containerapp show \
--name $CONTAINER_APP_NAME \
--resource-group $RESOURCE_GROUP \
--query properties.configuration.ingress.fqdn -o tsv
Ve webovém prohlížeči přejděte na adresu URL aplikace. Jakmile se aplikace kontejneru spustí, vypíše hello logger!.
Stream protokolu dotazů
Právě jste viděli výstup odeslaný do prohlížeče, takže teď můžete pomocí následujícího příkazu zobrazit zprávy, které se protokolují ve streamu protokolu.
az containerapp logs show \
--name $CONTAINER_APP_NAME \
--resource-group $RESOURCE_GROUP \
--follow
Dotaz vrátí odpověď podobnou následujícímu příkladu:
{"TimeStamp", "xxxx", "Log": "info: Microsoft.Hosting.Lifetime[0]"}
{"TimeStamp", "xxxx", "Log": "Hosting environment: Production"}
{"TimeStamp", "xxxx", "Log": "info: Microsoft.Hosting.Lifetime[0]"}
{"TimeStamp", "xxxx", "Log": "Content root path: /app"}
{"TimeStamp", "xxxx", "Log": "info: Startup[0]"}
{"TimeStamp", "xxxx", "Log": "Hello Logger!""}
Všimněte si, jak můžete zobrazit zprávu Hello Logger! ve streamu.
Pokud chcete sledování streamu zastavit, můžete zprávy ukončit zadáním kláves Cmd/Ctrl + C.
Vyčištění prostředků
Pokud nebudete používat prostředky Azure vytvořené v tomto kurzu, můžete je odebrat pomocí následujícího příkazu.
az group delete --name my-demo-group
Další kroky
Pokračujte a zjistěte, jak se připojit ke službám v Azure Container Apps.