Spuštění vlastního kontejneru v Azure
Azure App Service poskytuje předdefinované zásobníky aplikací ve Windows, jako je ASP.NET nebo Node.js, které běží ve službě IIS. Předkonfigurované zásobníky aplikací však uzamknou operační systém a zabraňují nízké úrovni přístupu. Vlastní Windows kontejnery tato omezení nemají a umožňují vývojářům plně přizpůsobit kontejnery a poskytnout kontejnerizovaným aplikacím úplný přístup k Windows funkcím.
V tomto rychlém startu se ASP.NET nasazení aplikace Windows image, která Azure Container Registry z Visual Studio. Aplikaci spustíte ve vlastním kontejneru v Azure App Service.
Požadavky
Pro absolvování tohoto kurzu potřebujete:
- Nainstalujte Docker for Windows.
- Přepnout Docker na spouštění kontejnerů Windows.
- Nainstalujte Visual Studio 2022 pomocí úloh ASP.NET a vývoje pro web a Azure Development. V Visual Studio 2022 Community, ujistěte se, že je vybraná komponenta šablony projektů .NET Framework položek s úlohou ASP.NET a webového vývoje. Pokud jste už nainstalovali Visual Studio 2022:
- Nainstalujte nejnovější aktualizace do Visual Studio výběrem možnosti > Help Check for Updates (Vyhledat aktualizace).
- Přidejte úlohy do Visual Studio výběrem možnosti Nástroje Získat nástroje a > funkce.
Vytvoření webové aplikace ASP.NET
Pomocí ASP.NET vytvořte novou webovou aplikaci:
Otevřete Visual Studio a pak vyberte Create a new project (Vytvořit nový projekt).
V části Create a new project(Vytvořit nový projekt) vyhledejte a zvolte ASP.NET Web Application (.NET Framework) for C# (Webová aplikace (.NET Framework) pro jazyk C# a pak vyberte Next (Další).
V části Konfigurace nového projektu Project název aplikace myfirstazurewebapp. V části Framework vyberte .NET Framework 4.8 a pak vyberte Vytvořit.
Do Azure můžete nasadit jakýkoli typ webové aplikace ASP.NET. Pro tento rychlý start zvolte šablonu MVC.
V části Ověřování vyberte Žádné. V části Upřesnit vyberte Podpora Dockeru a zrušte zaškrtnutí políčka Konfigurovat pro HTTPS. Vyberte Vytvořit.
Pokud se soubor Dockerfile neotevře automaticky, otevřete ho z Průzkumníka řešení.
Potřebujete podporovanou nadřazenou image. Nadřazenou image změníte tak, že řádek
FROMnahradíte následujícím kódem a soubor uložíte:FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019V nabídce Visual Studio vyberte Spustit ladění bez ladění a > spusťte webovou aplikaci místně.
Publikování do služby Azure Container Registry
V Průzkumník řešení klikněte pravým tlačítkem na projekt myfirstazurewebapp a vyberte Publikovat.
V části Cíl vyberte Docker Container Registry a potom klikněte na Další.
V části Konkrétní cíl vyberte Azure Container Registry a potom klikněte na Další.
V části Publikovat se ujistěte, že je vybrané správné předplatné. V části Registry kontejnerů + vyberte tlačítko a vytvořte nový Azure Container Registry.
V části Vytvořit nový se ujistěte, že je vybrané správné předplatné. V části Skupina prostředků vyberte Nový, jako název zadejte myResourceGroup a klikněte na OK. V části SKU vyberte Základní. V části Umístění registru vyberte umístění registru a pak vyberte Vytvořit.
V části Publikovat v Container Registry vyberte registr, který jste vytvořili, a pak vyberte Dokončit.
Počkejte, až se nasazení dokončí. Na stránce Publikovat se teď zobrazuje název úložiště. Výběrem tlačítka pro kopírování zkopírujte název úložiště pro pozdější použití.
Vytvoření aplikace typu kontejner pro Windows
Přihlaste se k webu Azure Portal.
V levém horním rohu webu Azure Portal zvolte Vytvořit prostředek.
V části Oblíbené služby vyberte Vytvořit v části Webová aplikace.
V části Vytvořit webovou aplikaci zvolte své předplatné a skupinu prostředků. V případě potřeby můžete vytvořit novou skupinu prostředků.
Zadejte název aplikace, například win-container-demo. Jako Publish (Publikovat) zvolte Docker Container (Kontejner Dockeru) a Windows pro Operating System (Operační systém). Pokračujte výběrem možnosti Další: Docker.

Jako Zdroj image zvolte Docker Hub a jako Image a značka zadejte název úložiště zkopírovaný v části Publikovat do Azure Container Registry.

Pokud máte vlastní image pro svou webovou aplikaci někde jinde, například ve službě Azure Container Registry nebo v jakémkoli jiném soukromém úložišti, tady ji můžete nakonfigurovat.
Vyberte Zkontrolovat a vytvořit a pak Vytvořit a počkejte, až Azure vytvoří požadované prostředky.
Přechod do aplikace typu kontejner
Po dokončení operace Azure se zobrazí okno s oznámením.

Klikněte na Přejít k prostředku.
V přehledu tohoto prostředku použijte odkaz vedle adresy URL.
Otevře se nová stránka prohlížeče na následující stránce:

Počkejte několik minut a zkuste to znovu, dokud se nezobrazí úvodní stránka ASP.NET:

Blahopřejeme! Spustili jste svůj první vlastní kontejner s Windows ve službě Azure App Service.
Zobrazení protokolů spuštění kontejneru
Načtení kontejneru s Windows může nějakou dobu trvat. Pokud chcete zobrazit průběh, přejděte na následující adresu URL tak, že nahradíte <app_name> názvem vaší aplikace.
https://<app_name>.scm.azurewebsites.net/api/logstream
Streamované protokoly vypadají přibližně takto:
2018-07-27T12:03:11 Welcome, you are now connected to log-streaming service.
27/07/2018 12:04:10.978 INFO - Site: win-container-demo - Start container succeeded. Container: facbf6cb214de86e58557a6d073396f640bbe2fdec88f8368695c8d1331fc94b
27/07/2018 12:04:16.767 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.017 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.020 INFO - Site: win-container-demo - Container started successfully
Místní aktualizace a opětovné nasazení
V Visual Studio otevřete v Průzkumník řešení soubor Views > Home > Index.cshtml.
Najděte HTML značku
<div class="jumbotron">poblíž začátku a nahraďte celý element následujícím kódem:<div class="jumbotron"> <h1>ASP.NET in Azure!</h1> <p class="lead">This is a simple app that we've built that demonstrates how to deploy a .NET app to Azure App Service.</p> </div>Pokud chcete nasazení do Azure znovu nasadit, klikněte pravým tlačítkem na projekt myfirstazurewebapp v Průzkumník řešení zvolte Publikovat.
Na stránce Publikovat vyberte Publikovat a počkejte, než se publikování dokončí.
Restartujte aplikaci, aby služba App Service dostala informaci, že má z Centra Dockeru načíst novou image. Zpátky na stránce aplikace na portálu klikněte na Restartovat > Ano.

Znovu přejděte do aplikace typu kontejner. Po aktualizaci webové stránky by se aplikace měla napřed vrátit na stránku Spouštění a pak za pár minut by měla znovu zobrazit aktualizovanou webovou stránku.

Další kroky
Nebo se podívejte na další zdroje informací:
App Service v Linuxu poskytuje předdefinované zásobníky aplikací v Linuxu s podporou jazyků, jako jsou .NET, PHP, Node.js a další. Můžete také použít vlastní image Dockeru a spouštět webovou aplikaci v zásobníku aplikací, který ještě není v Azure definovaný. V tomto rychlém startu se ukáže, jak nasadit image z Azure Container Registry (ACR) do App Service.
Požadavky
- Účet Azure
- Docker
- Visual Studio Code
- Rozšíření Azure App Service pro VS Code. Toto rozšíření můžete použít k vytvoření, správě a nasazení linuxových Web Apps na platformě Azure jako službě (PaaS).
- Rozšíření Docker pro VS Code. Pomocí tohoto rozšíření můžete zjednodušit správu místních imagí a příkazů Dockeru a nasadit sestavené image aplikací do Azure.
Vytvoření registru kontejneru
Tento rychlý start Azure Container Registry jako registr podle volby. Můžete používat i jiné registry, ale postup se může mírně lišit.
Vytvořte registr kontejneru podle pokynů v tématu Rychlý start: Vytvoření privátníhoregistru kontejneru pomocí Azure Portal .
Důležité
Při vytváření registru kontejneru Azure nezapomeňte nastavit možnost Uživatel s rolí správce na Povolit. Můžete ho také nastavit v části Přístupové klíče na stránce registru v Azure Portal. Toto nastavení se vyžaduje pro App Service přístupu. Informace o spravované identitě najdete v kurzu Nasazení z ACR.
Přihlásit se
Spusťte editor Visual Studio Code.
Na panelu aktivit vyberte logo Azure, přejděte do průzkumníka služby APP SERVICE, vyberte Přihlásit se k Azure a postupujte podle pokynů.

Na stavovém řádku v dolní části ověřte svou e-mailovou adresu účtu Azure. V průzkumníku služby APP SERVICE by se mělo zobrazit vaše předplatné.
Na panelu aktivit vyberte logo Dockeru. V Průzkumníku REGISTRŮ ověřte, že se zobrazí registr kontejneru, který jste vytvořili.

Kontrola požadavků
Ověřte, že máte Nainstalovaný a spuštěný Docker. Následující příkaz zobrazí verzi Dockeru, pokud je spuštěný.
docker --version
Vytvoření a sestavení image
- V Visual Studio Code otevřete prázdnou složku a přidejte soubor s názvem
Dockerfile. Do souboru Dockerfile vložte obsah na základě požadované jazykové architektury:
FROM mcr.microsoft.com/appsvc/dotnetcore:lts
ENV PORT 8080
EXPOSE 8080
ENV ASPNETCORE_URLS "http://*:${PORT}"
ENTRYPOINT ["dotnet", "/defaulthome/hostingstart/hostingstart.dll"]
V tomto souboru Dockerfile je nadřazená image jedním z integrovaných kontejnerů .NET App Service. Zdrojové soubory najdete v úložišti prostředků Azure-App-Service/ImageBuilder GitHub GenerateDockerFiles/dotnetcore. Jeho soubor Dockerfile zkopíruje jednoduchou aplikaci .NET do /defaulthome/hostingstart . Soubor Dockerfile jednoduše spustí aplikaci.
Otevřete paletu příkazů azadejte Docker Images: Build Image (Image Dockeru: Sestavit image). Zadáním klávesy Enter spusťte příkaz .
Do pole značky image zadejte značku, kterou chcete mít, v následujícím formátu: , kde je název registru kontejneru, který
<acr-name>.azurecr.io/<image-name>/<tag><acr-name>jste vytvořili. Stiskněte Enter.Po dokončení sestavování image klikněte v horní části průzkumníka IMAGES na Aktualizovat a ověřte, že je image úspěšně sestavená.

Nasazení do registru kontejneru
Na panelu aktivit klikněte na ikonu Dockeru. V průzkumníku IMAGES vyhledejte image, kterou jste právě sestaví.
Rozbalte obrázek, klikněte pravým tlačítkem na značku, kterou chcete, a klikněte na Push (Na push).
Ujistěte se, že značka image začíná na ,
<acr-name>.azurecr.ioa stiskněte Enter.Jakmile Visual Studio Code dokončíte nasazování image do registru kontejneru, klikněte v horní části průzkumníka REGISTRŮ na Aktualizovat a ověřte, že se image úspěšně nasadila.

Nasazení do App Service
- V průzkumníku REGISTRIES rozbalte image, klikněte pravým tlačítkem na značku a kliknutím na Deploy image (Nasadit image) Azure App Service.
- Podle pokynů zvolte předplatné, globálně jedinečný název aplikace, skupinu prostředků a App Service plán. Jako cenovou úroveň zvolte B1 Basic a vyberte nejbližší oblast.
Po nasazení je vaše aplikace dostupná na adrese http://<app-name>.azurewebsites.net .
Skupina prostředků je pojmenovaná kolekce všech prostředků vaší aplikace v Azure. Skupina prostředků může například obsahovat odkaz na web, databázi a funkci Azure.
Plán App Service definuje fyzické prostředky, které se budou používat k hostování vašeho webu. V tomto rychlém startu se používá základní plán hostování v infrastruktuře Linuxu, což znamená, že web bude hostovaný na počítači s Linuxem společně s jinými weby. Pokud začínáte s plánem Basic, můžete použít Azure Portal, aby vaše služba byla jedinou lokalitou spuštěnou na počítači. Ceny najdete na App Service .
Procházení webu
Na panelu Výstup se zobrazí stav operací nasazení. Po dokončení operace kliknutím na Open Site (Otevřít web) v automaticky otevírané oznámení otevřete web v prohlížeči.
Další kroky
Blahopřejeme, úspěšně jste dokončili tento rychlý start.
Aplikace App Service při každém spuštění přetáhne z registru kontejneru. Pokud image znovu sestavíte, stačí ji nasahat do registru kontejneru a aplikace při restartování přetáhne aktualizovanou image. Pokud chcete aplikaci říct, aby aktualizovanou image okamžitě přetahuje, restartujte ji.
Další rozšíření Azure:
- Databáze Cosmos
- Azure Functions
- Nástroje Azure CLI
- Azure Resource Manager Nástroje
- Sada rozšíření Azure Tools obsahuje všechna výše uvedená rozšíření.