Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser Schnellstartanleitung erfahren Sie, wie Sie eine ASP.NET-App in einem Windows-Image in der Azure Container Registry von Visual Studio bereitstellen. Die App wird in einem benutzerdefinierten Container in Azure App Service ausgeführt.
Azure App Service bietet vordefinierte Anwendungsstapel unter Windows, die unter Internetinformationsdienste (INTERNET Information Services, IIS) ausgeführt werden. Diese vorkonfigurierten Anwendungsstapel sperren das Betriebssystem und verhindern den Zugriff auf niedriger Ebene.
Für benutzerdefinierte Windows-Container gelten diese Einschränkungen nicht. Entwickler können benutzerdefinierte Container verwenden, um containerisierten Anwendungen vollzugriff auf Windows-Funktionen zu gewähren.
Voraussetzungen
- Installieren Sie Docker für Windows.
- Wechseln Sie zu Docker, um Windows-Container auszuführen.
- Installieren Sie Visual Studio 2022 mit den Workloads ASP.NET und Webentwicklung und Azure-Entwicklung. Stellen Sie in Visual Studio 2022 Community sicher, dass Sie die .NET Framework-Projekt- und Elementvorlagenkomponente mit ASP.NET- und Webentwicklungsworkload auswählen.
Wenn Sie Visual Studio 2022 bereits installiert haben:
- Installieren Sie in Visual Studio die neuesten Updates, indem Sie Hilfe>Nach Updates suchen auswählen.
- Fügen Sie in Visual Studio die Workloads hinzu, indem Sie Tools>Tools und Features abrufen auswählen.
Erstellen einer ASP.NET-Web-App
Öffnen Sie Visual Studio, und wählen Sie Neues Projekt erstellen aus.
Wählen Sie unter "Neues Projekt erstellen" ASP.NET Webanwendung (.NET Framework) und
C#dann "Weiter" aus.
Benennen Sie die Anwendung unter Konfigurieren Sie Ihr neues Projekt>Projektnamen
myfirstazurewebapp. Wählen Sie unter Framework.NET Framework 4.8 und dann "Erstellen" aus.
Sie können jede Art von ASP.NET Web-App für Azure bereitstellen. Wählen Sie für diese Schnellstartanleitung die MVC-Vorlage aus.
Wählen Sie unter Authentifizierung die Option Keine aus. Wählen Sie unter "Erweitert" die Option "Containerunterstützung" aus, und deaktivieren Sie "Konfigurieren für HTTPS". Klicken Sie auf Erstellen.
Wenn die Dockerfile-Datei nicht automatisch geöffnet wird, öffnen Sie sie, indem Sie den Projektmappen-Explorer auswählen.
Sie benötigen ein unterstütztes übergeordnetes Image. Ändern Sie das übergeordnete Bild, indem Sie die
FROMZeile durch den folgenden Code ersetzen und dann die Datei speichern:FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019Wählen Sie im Visual Studio-Menü Debuggen>Starten ohne Debugging aus, um die Web-App lokal auszuführen.
Veröffentlichen in Azure Container Registry
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das
myfirstazurewebappProjekt, und wählen Sie dann "Veröffentlichen" aus.Wählen Sie unter Ziel die Option Docker-Containerregistrierung aus, und wählen Sie anschließend Weiter aus.
Wählen Sie unter Bestimmtes Ziel die Option Azure Container Registry aus, und klicken Sie anschließend auf Weiter.
Wählen Sie in "Veröffentlichen" das richtige Abonnement aus. Um eine neue Containerregistrierung zu erstellen, wählen Sie "Neu in Containerregistrierungenerstellen" aus.
Wählen Sie unter Neu erstellen das richtige Abonnement aus. Wählen Sie unter Ressourcengruppe die Option Neu aus, und geben Sie
myResourceGroupals Namen ein. Wählen Sie anschließend OK aus. Wählen Sie unter SKU die Option Basic aus. Wählen Sie unter "Registrierungsspeicherort" einen Speicherort für die Registrierung aus, und wählen Sie dann "Erstellen" aus.
Unter Veröffentlichen in der Containerregistrierung wählen Sie die von Ihnen erstellte Registrierung aus und klicken Sie dann auf Fertig stellen.
Warten Sie, bis die Bereitstellung abgeschlossen ist. Im Bereich "Veröffentlichen " wird nun der Repositoryname angezeigt. Wählen Sie die Schaltfläche "Kopieren " aus, um den Repositorynamen für später zu kopieren.
Erstellen eines benutzerdefinierten Windows-Containers
Melden Sie sich beim Azure-Portal an.
Wählen Sie " Ressource erstellen" in der oberen linken Ecke des Azure-Portals aus.
Wählen Sie unter Beliebte Dienste unter Web-App die Option Erstellen aus.
Wählen Sie in "Web App erstellen" Ihre Abonnement- und Ressourcengruppe aus. Bei Bedarf kann eine neue Ressourcengruppe erstellt werden.
Geben Sie einen App-Namen an, z. B.
win-container-demo. Wählen Sie unter Veröffentlichen die Option Container aus. Wählen Sie unter Betriebssystem die Option Windows aus.
Select Next: Database>Next: Container.
Wählen Sie für die ImagequelleDocker Hub aus. Geben Sie unter Image und Tag den Repositorynamen ein, den Sie zuvor in Publish to Azure Container Registry kopiert haben.
Wenn Sie ein benutzerdefiniertes Image für Ihre Web-App an einem anderen Speicherort haben, z. B. in der Azure-Containerregistrierung oder in einem anderen privaten Repository, können Sie es hier konfigurieren. Wählen Sie Überprüfen + Erstellen aus.
Überprüfen Sie alle Details, und wählen Sie dann "Erstellen" aus.
Warten Sie, bis Azure die erforderlichen Ressourcen erstellt hat.
Navigieren zum benutzerdefinierten Container
Nach Abschluss des Vorgangs zeigt das Azure-Portal eine Benachrichtigung an.
Wählen Sie Zu Ressource wechseln aus.
Folgen Sie in der Übersicht dem Link neben der Standarddomäne.
Eine neue Browserseite wird geöffnet.
Warten Sie einige Minuten, und versuchen Sie erneut. Versuchen Sie weiterhin, bis Sie die standardmäßige ASP.NET Startseite erhalten.
Anzeigen der Startprotokolle des Containers
Das Laden des Windows-Containers kann eine Weile dauern. Um den Fortschritt anzuzeigen, gehen Sie zur folgenden URL, indem Sie \<app_name> durch den Namen Ihrer App ersetzen.
https://<app_name>.scm.azurewebsites.net/api/logstream
Die gestreamten Protokolle sehen wie folgt aus:
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
Lokales Aktualisieren und erneutes Bereitstellen
Wechseln Sie in Visual Studio zum Projektmappen-Explorer. Wählen Sie "Views>Home>Index.cshtml" aus.
Suchen Sie im oberen Bereich nach dem HTML-Tag
<div class="jumbotron">, und ersetzen Sie das gesamte Element durch folgenden Code:<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>Wenn Sie die Bereitstellung in Azure erneut ausführen möchten, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt "myfirstazurewebapp", und wählen Sie dann "Veröffentlichen" aus.
Wählen Sie im Veröffentlichungsbereich "Veröffentlichen" die Option "Veröffentlichen" aus, und warten Sie, bis die Veröffentlichung abgeschlossen ist.
Um App Service zu veranlassen, das neue Image von Docker Hub abzurufen, starten Sie die App neu. Wählen Sie im App-Bereich im Azure-Portal "Ja> aus.
Navigieren Sie erneut zum benutzerdefinierten Container. Beim Aktualisieren der Seite sollte die App zuerst zur Startseite zurückkehren. Anschließend sollte die aktualisierte Seite angezeigt werden.
Bereinigen von Ressourcen
In den vorherigen Schritten haben Sie Azure-Ressourcen in einer Ressourcengruppe erstellt. Wenn Sie nicht erwarten, dass diese Ressourcen in Zukunft benötigt werden, können Sie sie löschen, indem Sie die Ressourcengruppe löschen:
Wählen Sie im Azure-Portalmenü oder auf der Startseite " Ressourcengruppen>myResourceGroup" aus.
Stellen Sie im Bereich "myResourceGroup " sicher, dass die aufgelisteten Ressourcen diejenigen sind, die Sie löschen möchten.
Wählen Sie die Option Ressourcengruppe löschen. Geben Sie "myResourceGroup" in das zu bestätigende Textfeld ein, und wählen Sie dann "Löschen" aus.
Zugehöriger Inhalt
- Konfigurieren eines benutzerdefinierten Containers
- Verwenden verwalteter Identitäten für App Service und Azure Functions
- Anwendungsüberwachung für Azure App Service: Übersicht
- Azure Monitor – Übersicht
- Sicher mit einer benutzerdefinierten Domäne und einem zertifikat
- Integrieren Ihrer App in ein Azure Virtual Network
- Verwenden privater Endpunkte für App Service-Apps
- Verwenden der Azure-Containerregistrierung mit azure Private Link
- Migrieren zu einem Windows-Container in Azure
- Bereitstellen eines Containers mit Azure Pipelines
- Bereitstellen eines Containers mit GitHub Actions
In dieser Schnellstartanleitung erfahren Sie, wie Sie ein Image aus der Azure-Containerregistrierung in Azure App Service bereitstellen.
Der App-Dienst unter Linux bietet vordefinierte Anwendungsstapel unter Linux mit Unterstützung für Sprachen wie .NET, Java, Node.jsund PHP. Sie können auch ein benutzerdefiniertes Docker-Image verwenden, um Ihre Web-App in einem Anwendungsstapel auszuführen, der nicht bereits in Azure definiert ist.
Weitere Informationen zu containerisierten Anwendungen in einer serverlosen Umgebung finden Sie unter Container-Apps.
Voraussetzungen
- Ein Azure-Konto.
- Docker
- VS Code.
- Die Azure App Service-Erweiterung für VS Code. Sie können diese Erweiterung verwenden, um Linux-Web-Apps mit Azure-Plattform as a Service (PaaS) zu erstellen, zu verwalten und bereitzustellen.
- Die Docker-Erweiterung für VS Code. Mit dieser Erweiterung können Sie die Verwaltung lokaler Docker-Images und -Befehle vereinfachen und erstellte App-Images in Azure bereitstellen.
Erstellen einer Containerregistrierung
In diesem Schnellstart wird Azure Container Registry als Registrierung verwendet. Sie können auch andere Registrierungen verwenden, aber die Schritte können dann geringfügig abweichen.
Erstellen Sie eine Containerregistrierung, indem Sie die Anweisungen in der Schnellstartanleitung befolgen: Erstellen Einer privaten Containerregistrierung mithilfe des Azure-Portals.
Wichtig
Legen Sie beim Erstellen der Containerregistrierung unbedingt die Option "Administratorbenutzeraktivieren" fest. Sie können sie auch im Abschnitt "Zugriffstasten " ihres Registrierungsbereichs im Azure-Portal festlegen. Sie benötigen diese Einstellung für den Zugriff auf App Service. Eine verwaltete Identität finden Sie unter Deploy from Azure Container Registry.
Anmelden
Öffnen Sie VS Code.
Wählen Sie das Azure-Logo auf der Aktivitätsleiste aus, und wechseln Sie dann zu ACCOUNTS & TENANTS. Wählen Sie Bei Azure anmelden aus, und befolgen Sie die Anweisungen.
Überprüfen Sie in der Statusleiste unten, ob Die E-Mail-Adresse Ihres Azure-Kontos korrekt ist. Ihr Abonnement sollte im APP SERVICE-Explorer angezeigt werden.
Wählen Sie in der Aktivitätsleiste das Docker-Logo aus. Überprüfen Sie im REGISTRIERUNGS-Explorer, ob die von Ihnen erstellte Containerregistrierung angezeigt wird.
Überprüfen der Voraussetzungen
Überprüfen Sie, ob Docker installiert ist und ausgeführt wird. Wenn Docker ausgeführt wird, zeigt der folgende Befehl die Docker-Version an:
docker --version
Erstellen und Zusammenstellen eines Images
Öffnen Sie in VS Code einen leeren Ordner, und fügen Sie eine Datei mit dem Namen
Dockerfilehinzu. Fügen Sie in der Datei den Inhalt basierend auf Dem gewünschten Sprachframework ein:In dieser Datei ist das übergeordnete Image einer der integrierten .NET-Container von App Service.
FROM mcr.microsoft.com/appsvc/dotnetcore:lts ENV PORT 8080 EXPOSE 8080 ENV ASPNETCORE_URLS "http://*:${PORT}" ENTRYPOINT ["dotnet", "/defaulthome/hostingstart/hostingstart.dll"]Öffnen Sie die Befehlspalette, und geben Sie dann Docker-Images ein: BuildImage. Drücken Sie die EINGABETASTE, um den Befehl auszuführen.
Geben Sie im Feld „Imagetag“ das gewünschte Tag im Format
<acr-name>.azurecr.io/<image-name>:<tag>an. Dabei ist<acr-name>der Name der von Ihnen erstellten Containerregistrierung. Drücken Sie die EINGABETASTE.Wählen Sie nach Abschluss der Imageerstellung oben im Explorer für IMAGES die Option Aktualisieren aus, und überprüfen Sie, ob das Image erfolgreich erstellt wurde.
Bereitstellen in der Containerregistrierung
Wählen Sie in der Aktivitätsleiste das Docker-Symbol aus. Suchen Sie im IMAGES-Explorer nach dem Image, das Sie erstellt haben.
Erweitern Sie das Bild, klicken Sie mit der rechten Maustaste auf das gewünschte Tag und wählen Sie Push aus.
Stellen Sie sicher, dass das Bild-Tag mit
<acr-name>.azurecr.iobeginnt und wählen Sie die EINGABETASTE aus.Wenn VS Code das Übertragen des Images an Die Containerregistrierung beendet hat, wählen Sie oben im REGISTRIES-Explorerdie Option "Aktualisieren" aus, und stellen Sie sicher, dass das Image erfolgreich übertragen wurde.
Bereitstellen in App Service
- Erweitern Sie im REGISTRIES-Explorer das Bild, klicken Sie mit der rechten Maustaste auf das Tag, und wählen Sie dann "Image für Azure App Service bereitstellen" aus.
- Folgen Sie den Anweisungen zum Auswählen eines Abonnements, eines global eindeutigen App-Namens, einer Ressourcengruppe und eines App Service-Plans. Wählen Sie B1 Basic für das Preisniveau und eine Region in Ihrer Nähe aus.
Nach der Bereitstellung ist Ihre App unter http://<app-name>.azurewebsites.net verfügbar.
Eine Ressourcengruppe ist eine benannte Sammlung aller Ressourcen Ihrer Anwendung in Azure. Beispielsweise kann eine Ressourcengruppe einen Verweis auf eine Website, eine Datenbank und eine Azure-Funktion enthalten.
Ein App Service-Plan definiert die physischen Ressourcen, die zum Hosten Ihrer Website verwendet werden sollen. Diese Schnellstartanleitung verwendet den Grundlegenden Hostingplan für die Linux-Infrastruktur, was bedeutet, dass die Website auf einem Linux-Computer zusammen mit anderen Websites gehostet wird. Wenn Sie mit dem Standardplan beginnen, können Sie das Azure-Portal verwenden, um eine Skalierung so einzurichten, dass ein Computer nur Ihre Website ausführt. Eine Beschreibung der Preise finden Sie unter App Service – Preise.
Navigieren auf der Website
Im Bereich Ausgabe wird der Status der Bereitstellungsvorgänge angezeigt. Wenn der Vorgang abgeschlossen ist, wählen Sie in der Popupbenachrichtigung "Website öffnen " aus, um die Website in Ihrem Browser zu öffnen.
Die App Service-App führt bei jedem Start einen Pull aus der Containerregistrierung aus. Wenn Sie Ihr Image rekonstruieren, müssen Sie es nur in Ihre Containerregistrierung hochladen, und die App ruft dann das aktualisierte Image ab, wenn sie neu gestartet wird. Wenn Ihre App das aktualisierte Image sofort abrufen soll, starten Sie sie neu.
Um das Problem zu beheben, gehen Sie zu Ich habe ein Problem festgestellt.
Bereinigen von Ressourcen
In den vorherigen Schritten haben Sie Azure-Ressourcen in einer Ressourcengruppe erstellt. Wenn Sie nicht erwarten, dass diese Ressourcen in Zukunft benötigt werden, können Sie sie löschen, indem Sie die Ressourcengruppe löschen:
Wählen Sie im Azure-Portalmenü oder auf der Startseite " Ressourcengruppen>myResourceGroup" aus.
Stellen Sie im Bereich "myResourceGroup " sicher, dass die aufgelisteten Ressourcen diejenigen sind, die Sie löschen möchten.
Wählen Sie die Option Ressourcengruppe löschen. Geben Sie "myResourceGroup" in das zu bestätigende Textfeld ein, und wählen Sie dann "Löschen" aus.
Zugehöriger Inhalt
- Sicher mit einer benutzerdefinierten Domäne und einem zertifikat
- Migrieren zu einem Windows-Container in Azure
- Integrieren Ihrer App in ein Azure Virtual Network
- Verwenden privater Endpunkte für App Service-Apps
- Azure Monitor – Übersicht
- Anwendungsüberwachung für Azure App Service: Übersicht
- Verwenden verwalteter Identitäten für App Service und Azure Functions
- Konfigurieren eines benutzerdefinierten Containers
- Sidecar-Container-Tutorial
Weitere Azure-Erweiterungen:
- Azure Cosmos DB
- Azure-Funktionen
- Azure CLI-Tools
- Azure Resource Manager-Tools
- Das Erweiterungspaket Azure-Tools enthält alle Erweiterungen in dieser Liste.
In dieser Schnellstartanleitung erfahren Sie, wie Sie ein Image aus der Azure-Containerregistrierung in Azure App Service bereitstellen.
Bei Azure App Service für Linux werden vordefinierte Anwendungsstapel unter Linux mit Unterstützung für verschiedene Sprachen bereitgestellt, z. B. .NET, Java, Node.js und PHP. Sie können auch ein benutzerdefiniertes Docker-Image verwenden, um Ihre Web-App in einem Anwendungsstapel auszuführen, der nicht bereits in Azure definiert ist.
Weitere Informationen zu containerisierten Anwendungen in einer serverlosen Umgebung finden Sie in der Übersicht über Azure-Container-Apps.
Voraussetzungen
Klonen des Beispielrepositorys
Klonen Sie die .NET 6.0-Beispiel-App mit dem folgenden Befehl:
git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git
Das Image in die Azure Container Registry hochladen.
Stellen Sie sicher, dass Sie sich im Stammordner des geklonten Repositorys befinden, der eine Dockerfile.linux Datei enthält.
Melden Sie sich bei der Azure CLI an.
az loginMelden Sie sich bei Azure Container Registry an.
az acr login -n <your_registry_name>Erstellen des Containerimages In diesem Beispiel wird der Bildname
dotnetcore-docs-hello-world-linuxverwendet.docker build -f Dockerfile.linux -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux .Das Container-Image in die Azure-Containerregistrierung pushen.
docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux:latestHinweis
Das Dockerfile legt die Portnummer intern auf 80 fest. Weitere Informationen hierzu erfahren Sie unter "Konfigurieren von benutzerdefiniertem Container".
Bereitstellung in Azure
Melden Sie sich beim Azure-Portal an.
Geben Sie app services in das Suchfeld ein. Wählen Sie unter Dienste die Option App Services aus.
Wählen Sie im Bereich "App Services" die Option"Web App> aus.
Wählen Sie auf der Registerkarte " Grundlagen " unter "Projektdetails" das richtige Abonnement aus. Um eine neue Ressourcengruppe zu erstellen, wählen Sie "Neu erstellen" aus. Geben Sie als Namen myResourceGroup ein.
Gehen Sie unter Instanzendetails wie folgt vor:
- Geben Sie einen global eindeutigen Namen für Ihre Web-App ein.
- Wählen Sie Container aus.
- Wählen Sie für das BetriebssystemLinux aus.
- Wählen Sie in "Region" die Region aus, aus der Sie Ihre App bedienen möchten.
Wählen Sie unter "App Service Plan" die Option "Neu erstellen" aus. Geben Sie als Name myAppServicePlan ein. Wenn Sie zur Stufe „Kostenlos“ wechseln möchten, wählen Sie Größe ändern>, Dev/Test>, F1> aus und klicken Sie Anwenden.
Wählen Sie oben im Bereich die Registerkarte "Container " aus.
Wählen Sie auf der Registerkarte "Container " für "Image Source" die Option "Azure Container Registry" aus. Legen Sie unter Azure Container Registry-Optionen die folgenden Werte fest:
- Registrierung: Wählen Sie Ihre Containerregistrierung aus.
- Image: Wählen Sie dotnetcore-docs-hello-world-linux aus.
- Tag: Wählen Sie Neueste aus.
Wählen Sie "Überprüfen" und "Erstellen" am unteren Rand des Bereichs aus.
Wählen Sie nach Ausführung der Validierung Erstellen aus.
Klicken Sie nach Abschluss der Bereitstellung auf Zur Ressource wechseln.
Navigieren zur App
Navigieren Sie in Ihrem Webbrowser zur an der URL http://<app-name>.azurewebsites.net bereitgestellten Anwendung.
Die App Service-App führt bei jedem Start einen Pull aus der Containerregistrierung aus. Wenn Sie Ihr Image neu erstellen, übertragen Sie es an die Containerregistrierung. Die App lädt beim Neustart das aktualisierte Bild. Wenn Ihre App das aktualisierte Image sofort abrufen soll, starten Sie sie neu.
Bereinigen von Ressourcen
In den vorherigen Schritten haben Sie Azure-Ressourcen in einer Ressourcengruppe erstellt. Wenn Sie nicht erwarten, dass diese Ressourcen in Zukunft benötigt werden, können Sie sie löschen, indem Sie die Ressourcengruppe löschen:
Wählen Sie im Azure-Portalmenü oder auf der Startseite " Ressourcengruppen>myResourceGroup" aus.
Stellen Sie im Bereich "myResourceGroup " sicher, dass die aufgelisteten Ressourcen diejenigen sind, die Sie löschen möchten.
Wählen Sie die Option Ressourcengruppe löschen. Geben Sie "myResourceGroup" in das zu bestätigende Textfeld ein, und wählen Sie dann "Löschen" aus.
Zugehöriger Inhalt
- Sicher mit einer benutzerdefinierten Domäne und einem zertifikat
- Migrieren zu einem Windows-Container in Azure
- Integrieren Ihrer App in ein Azure Virtual Network
- Verwenden privater Endpunkte für App Service-Apps
- Azure Monitor – Übersicht
- Anwendungsüberwachung für Azure App Service: Übersicht
- Verwenden verwalteter Identitäten für App Service und Azure Functions
- Konfigurieren eines benutzerdefinierten Containers
- Sidecar-Container-Tutorial
In dieser Schnellstartanleitung erfahren Sie, wie Sie eine ASP.NET-App in einem Windows-Image aus der Azure-Containerregistrierung in Azure App Service bereitstellen.
Azure App Service stellt vordefinierte Anwendungsstapel unter Windows bereit, z. B. ASP.NET oder Node.js, die auf Internetinformationsdienste (Internet Information Services, IIS) ausgeführt werden. Diese vorkonfigurierten Anwendungsstapel sperren das Betriebssystem und verhindern den Zugriff auf niedriger Ebene.
Für benutzerdefinierte Windows-Container gelten diese Einschränkungen nicht. Entwickler können benutzerdefinierte Container verwenden, um containerisierten Anwendungen vollzugriff auf Windows-Funktionen zu gewähren.
Voraussetzungen
- Ein Azure-Konto
- Azure Container Registry
- Die Azure CLI
- Docker für Windows
- So wechseln Sie Docker zum Ausführen von Windows-Containern
Klonen des Beispielrepositorys
Klonen Sie die .NET 6.0-Beispiel-App mit dem folgenden Befehl:
git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git
Das Image in die Azure Container Registry hochladen.
Stellen Sie sicher, dass Sie sich im Stammordner des geklonten Repositorys befinden. Dieses Repository enthält eine Dockerfile.windows Datei. In diesem Artikel wird Windows Nano Server Long Term Servicing Channel 2022 als Basisbetriebssystem verwendet und explizit die Windows-Basis aufgerufen.
Hinweis
Obwohl dieser Container ein Windows-Container ist, müssen die Pfade weiterhin normale Schrägstriche verwenden. Weitere Informationen finden Sie im Artikel zum Schreiben eines Dockerfile.
Melden Sie sich bei der Azure CLI an.
az loginMelden Sie sich bei Azure Container Registry an.
az acr login -n <your_registry_name>Erstellen des Containerimages In diesem Beispiel wird der Bildname
dotnetcore-docs-hello-world-windowsverwendet.docker build -f Dockerfile.windows -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows .Das Container-Image in die Azure-Containerregistrierung pushen.
docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows:latestHinweis
Die Dockerfile legt intern die Portnummer auf
80fest. Weitere Informationen finden Sie unter Konfigurieren eines benutzerdefinierten Containers.
Bereitstellung in Azure
Melden Sie sich beim Azure-Portal an.
Geben Sie App-Dienste in das Suchfeld ein. Wählen Sie unter Dienste die Option App Services aus.
Wählen Sie in App Services "Web App> aus.
Wählen Sie auf der Registerkarte " Grundlagen " unter "Projektdetails" das richtige Abonnement aus. Wählen Sie "Neu erstellen" aus. Geben Sie
myResourceGroupals Namen ein.
Gehen Sie unter Instanzendetails wie folgt vor:
- Geben Sie einen global eindeutigen Namen für Ihre Web-App ein.
- Wählen Sie Container aus.
- Wählen Sie für das BetriebssystemLinux aus.
- Wählen Sie für "Region" die Region aus, aus der Sie Ihre App bereitstellen möchten.
Wählen Sie unter "App Service Plan" die Option "Neu erstellen" aus. Geben Sie
myAppServicePlanals Namen ein. Um die Stufe zu ändern, wählen Sie " Preispläne durchsuchen", wählen Sie einen Plan aus, und wählen Sie unten im Bereich "Auswählen " aus.
Wählen Sie oben im Bereich die Registerkarte "Container " aus.
Wählen Sie auf der Registerkarte "Container " für "Image Source" die Option "Azure Container Registry" aus. Legen Sie unter Azure Container Registry-Optionen die folgenden Werte fest:
- Registrierung: Wählen Sie Ihre Containerregistrierung aus.
- Image: Wählen Sie dotnetcore-docs-hello-world-linux aus.
- Tag: Wählen Sie Neueste aus.
Wählen Sie "Überprüfen" und "Erstellen" am unteren Rand des Bereichs aus.
Wählen Sie nach Ausführung der Validierung Erstellen aus.
Klicken Sie nach Abschluss der Bereitstellung auf Zur Ressource wechseln.
Zur App wechseln
Wechseln Sie zur bereitgestellten Anwendung in Ihrem Webbrowser unter der URL http://<app-name>.azurewebsites.net.
Das Hostbetriebssystem wird in der Fußzeile angezeigt, wodurch bestätigt wird, dass die App in einem Windows-Container ausgeführt wird.
Die App Service-App führt bei jedem Start einen Pull aus der Containerregistrierung aus. Wenn Sie Ihr Image neu erstellen, übertragen Sie es an die Containerregistrierung. Die App lädt beim Neustart das aktualisierte Bild. Wenn Ihre App das aktualisierte Image sofort abrufen soll, starten Sie sie neu.
Bereinigen von Ressourcen
In den vorherigen Schritten haben Sie Azure-Ressourcen in einer Ressourcengruppe erstellt. Wenn Sie nicht erwarten, dass diese Ressourcen in Zukunft benötigt werden, können Sie sie löschen, indem Sie die Ressourcengruppe löschen:
Wählen Sie im Azure-Portalmenü oder auf der Startseite " Ressourcengruppen>myResourceGroup" aus.
Stellen Sie im Bereich "myResourceGroup " sicher, dass die aufgelisteten Ressourcen diejenigen sind, die Sie löschen möchten.
Wählen Sie die Option Ressourcengruppe löschen. Geben Sie "myResourceGroup" in das zu bestätigende Textfeld ein, und wählen Sie dann "Löschen" aus.
Zugehöriger Inhalt
- Konfigurieren eines benutzerdefinierten Containers
- Verwenden verwalteter Identitäten für App Service und Azure Functions
- Anwendungsüberwachung für Azure App Service: Übersicht
- Azure Monitor – Übersicht
- Sicher mit einer benutzerdefinierten Domäne und einem zertifikat
- Integrieren Ihrer App in ein Azure Virtual Network
- Verwenden privater Endpunkte für App Service-Apps
- Verwenden der Azure-Containerregistrierung mit azure Private Link
- Migrieren zu einem Windows-Container in Azure
- Bereitstellen eines Containers mit Azure Pipelines
- Bereitstellen eines Containers mit GitHub Actions
In dieser Schnellstartanleitung erfahren Sie, wie Sie eine ASP.NET-App in einem Windows-Image aus der Microsoft Artifact Registry in Azure App Service bereitstellen.
Azure App Service bietet vordefinierte Anwendungsstapel unter Windows, die unter Internetinformationsdienste (INTERNET Information Services, IIS) ausgeführt werden. Die vorkonfigurierten Anwendungsstapel sperren das Betriebssystem und verhindern den Zugriff auf niedriger Ebene.
Für benutzerdefinierte Windows-Container gelten diese Einschränkungen nicht. Entwickler können benutzerdefinierte Container verwenden, um containerisierten Anwendungen vollzugriff auf Windows-Funktionen zu gewähren.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Azure PowerShell.
Herstellen einer Verbindung mit Azure
Melden Sie sich mithilfe des Befehls Connect-AzAccount bei Ihrem Azure-Konto an, und folgen Sie der Eingabeaufforderung:
Connect-AzAccount
Erstellen einer Ressourcengruppe
Erstellen Sie mit dem Befehl New-AzResourceGroup eine Ressourcengruppe. Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden.
Im folgenden Beispiel wird eine Ressourcengruppe mit dem Namen myResourceGroup am Standort eastus erstellt. Um alle unterstützten Speicherorte für App Service anzuzeigen, führen Sie den Get-AzLocation Befehl aus.
New-AzResourceGroup -Name myResourceGroup -Location eastus
Der Befehl gibt Login Succeeded zurück.
Erstellen Ihres App Service-Plans
Erstellen Sie einen neuen App Service-Plan mithilfe des New-AzAppServicePlan Befehls.
Im folgenden Beispiel wird ein App Service-Plan namens myAppServicePlan im Tarif PremiumV3 (-Tier PremiumV3) erstellt: Der Parameter -HyperV gibt den Windows-Container an.
New-AzAppServicePlan -Name myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -Tier PremiumV3 -HyperV
Web-App erstellen
Erstellen Sie eine neue App mithilfe des New-AzWebApp Befehls:
New-AzWebApp -Name myWebApp -AppServicePlan myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -ContainerImageName mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
- Der
NameParameter gibt den Namen der Web-App an. - Der
AppServicePlanParameter gibt den Namen des App Service-Plans an. - Der
LocationParameter gibt den Speicherort an. - Der
ResourceGroupNameParameter gibt den Namen der Ressourcengruppe an. - Der
ContainerImageNameParameter gibt einen Containerimagenamen und ein optionales Tag an.
Der Befehl kann einige Minuten benötigen, um abgeschlossen zu werden.
Navigieren zur App
Navigieren Sie in Ihrem Webbrowser zur an der URL http://<app-name>.azurewebsites.net bereitgestellten Anwendung.
Die App Service-App führt bei jedem Start einen Pull aus der Containerregistrierung aus. Wenn Sie Ihr Image neu erstellen, übertragen Sie es an die Containerregistrierung. Die App lädt beim Neustart das aktualisierte Bild. Wenn Ihre App das aktualisierte Image sofort abrufen soll, starten Sie sie neu.
Bereinigen von Ressourcen
Entfernen Sie die Ressourcengruppe mithilfe des Remove-AzResourceGroup Befehls:
Remove-AzResourceGroup myResourceGroup
Zugehöriger Inhalt
- Konfigurieren eines benutzerdefinierten Containers
- Verwenden verwalteter Identitäten für App Service und Azure Functions
- Anwendungsüberwachung für Azure App Service: Übersicht
- Azure Monitor – Übersicht
- Sicher mit einer benutzerdefinierten Domäne und einem zertifikat
- Integrieren Ihrer App in ein Azure Virtual Network
- Verwenden privater Endpunkte für App Service-Apps
- Verwenden der Azure-Containerregistrierung mit azure Private Link
- Migrieren zu einem Windows-Container in Azure
- Bereitstellen eines Containers mit Azure Pipelines
- Bereitstellen eines Containers mit GitHub Actions
In dieser Schnellstartanleitung erfahren Sie, wie Sie eine ASP.NET-App in einem Windows-Image aus der Microsoft Artifact Registry in Azure App Service bereitstellen.
Azure App Service bietet vordefinierte Anwendungsstapel unter Windows, die unter Internetinformationsdienste (INTERNET Information Services, IIS) ausgeführt werden. Diese vorkonfigurierten Anwendungsstapel sperren das Betriebssystem und verhindern den Zugriff auf niedriger Ebene.
Für benutzerdefinierte Windows-Container gelten diese Einschränkungen nicht. Entwickler können benutzerdefinierte Container verwenden, um containerisierten Anwendungen vollzugriff auf Windows-Funktionen zu gewähren.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Die Azure CLI
Herstellen einer Verbindung mit Azure
Melden Sie sich bei Ihrem Azure-Konto an. Verwenden Sie den az login Befehl, und folgen Sie der Eingabeaufforderung:
az login
Erstellen einer Ressourcengruppe
Erstellen Sie eine Ressourcengruppe mithilfe des az group create Befehls. Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden.
Im folgenden Beispiel wird eine Ressourcengruppe mit dem Namen myResourceGroup am Standort eastus erstellt. Um alle unterstützten Speicherorte für App Service anzuzeigen, führen Sie den az appservice list-locations Befehl aus.
az group create --name myResourceGroup --location eastus
Erstellen Ihres App Service-Plans
Erstellen Sie mit dem Befehl az appservice plan create einen App Service-Plan in der Ressourcengruppe.
Im folgenden Beispiel wird ein App Service-Plan namens myAppServicePlan im Tarif P1V3 (--sku P1V3) erstellt.
az appservice plan create --resource-group myResourceGroup --location eastus --name myAppServicePlan --hyper-v --sku p1v3
Hinweis
Wenn Sie den Fehler "Das Verhalten dieses Befehls wurde durch die folgende Erweiterung geändert: appservice-kube" sehen, müssen Sie die appservice-kube-Erweiterung entfernen.
Web-App erstellen
Erstellen Sie eine benutzerdefinierte Containerweb-App im myAppServicePlan App Service-Plan mit dem az webapp create Befehl. Vergessen Sie nicht, myContainerApp durch einen eindeutigen App-Namen zu ersetzen (gültige Zeichen sind a-z, 0-9, und -).
az webapp create --name myContainerApp --plan myAppServicePlan --resource-group myResourceGroup --deployment-container-image-name mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
- Der
NameParameter gibt den Namen der Web-App an. - Der
AppServicePlanParameter gibt den Namen des App Service-Plans an. - Der
LocationParameter gibt den Speicherort an. - Der
ResourceGroupNameParameter gibt den Namen der Ressourcengruppe an. - Der
deployment-container-image-nameParameter gibt einen Containerimagenamen und ein optionales Tag an.
Navigieren zur App
Navigieren Sie in Ihrem Webbrowser zur an der URL http://<app-name>.azurewebsites.net bereitgestellten Anwendung.
Die App Service-App führt bei jedem Start einen Pull aus der Containerregistrierung aus. Wenn Sie Ihr Image neu erstellen, übertragen Sie es an die Containerregistrierung. Die App lädt beim Neustart das aktualisierte Bild. Wenn Ihre App das aktualisierte Image sofort abrufen soll, starten Sie sie neu.
Bereinigen von Ressourcen
Entfernen Sie die Ressourcengruppe mithilfe des az group delete Befehls:
az group delete --no-wait --name <resource_group>
Zugehöriger Inhalt
- Konfigurieren eines benutzerdefinierten Containers
- Verwenden verwalteter Identitäten für App Service und Azure Functions
- Anwendungsüberwachung für Azure App Service: Übersicht
- Azure Monitor – Übersicht
- Sicher mit einer benutzerdefinierten Domäne und einem zertifikat
- Integrieren Ihrer App in ein Azure Virtual Network
- Verwenden privater Endpunkte für App Service-Apps
- Verwenden der Azure-Containerregistrierung mit azure Private Link
- Migrieren zu einem Windows-Container in Azure
- Bereitstellen eines Containers mit Azure Pipelines
- Bereitstellen eines Containers mit GitHub Actions