Freigeben über


Schnellstart: Ausführen eines benutzerdefinierten Containers in Azure

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

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

  1. Öffnen Sie Visual Studio, und wählen Sie Neues Projekt erstellen aus.

  2. Wählen Sie unter "Neues Projekt erstellen" ASP.NET Webanwendung (.NET Framework) und C#dann "Weiter" aus.

    Screenshot des Dialogfelds

  3. Benennen Sie die Anwendung unter Konfigurieren Sie Ihr neues Projekt>Projektnamenmyfirstazurewebapp. Wählen Sie unter Framework.NET Framework 4.8 und dann "Erstellen" aus.

    Screenshot: Konfigurieren Des Web-App-Projekts

  4. 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.

  5. 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.

    Screenshot des Dialogfelds

  6. Wenn die Dockerfile-Datei nicht automatisch geöffnet wird, öffnen Sie sie, indem Sie den Projektmappen-Explorer auswählen.

  7. Sie benötigen ein unterstütztes übergeordnetes Image. Ändern Sie das übergeordnete Bild, indem Sie die FROM Zeile durch den folgenden Code ersetzen und dann die Datei speichern:

    FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
    
  8. Wählen Sie im Visual Studio-Menü Debuggen>Starten ohne Debugging aus, um die Web-App lokal auszuführen.

    Screenshot der lokal ausgeführten App.

Veröffentlichen in Azure Container Registry

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das myfirstazurewebapp Projekt, und wählen Sie dann "Veröffentlichen" aus.

  2. Wählen Sie unter Ziel die Option Docker-Containerregistrierung aus, und wählen Sie anschließend Weiter aus.

    Screenshot des Bildschirms

  3. Wählen Sie unter Bestimmtes Ziel die Option Azure Container Registry aus, und klicken Sie anschließend auf Weiter.

    Screenshot, der den Bereich

  4. Wählen Sie in "Veröffentlichen" das richtige Abonnement aus. Um eine neue Containerregistrierung zu erstellen, wählen Sie "Neu in Containerregistrierungenerstellen" aus.

    Screenshot des Bildschirms

  5. Wählen Sie unter Neu erstellen das richtige Abonnement aus. Wählen Sie unter Ressourcengruppe die Option Neu aus, und geben Sie myResourceGroup als 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.

    Screenshot, der die Details der Azure Container Registry zeigt.

  6. Unter Veröffentlichen in der Containerregistrierung wählen Sie die von Ihnen erstellte Registrierung aus und klicken Sie dann auf Fertig stellen.

    Screenshot des Bildschirms

    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.

    Screenshot: Hervorgehobener Repositoryname

Erstellen eines benutzerdefinierten Windows-Containers

  1. Melden Sie sich beim Azure-Portal an.

  2. Wählen Sie " Ressource erstellen" in der oberen linken Ecke des Azure-Portals aus.

  3. Wählen Sie unter Beliebte Dienste unter Web-App die Option Erstellen aus.

  4. Wählen Sie in "Web App erstellen" Ihre Abonnement- und Ressourcengruppe aus. Bei Bedarf kann eine neue Ressourcengruppe erstellt werden.

  5. 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.

    Screenshot, der zeigt, wie Sie eine Web-App für Container erstellen.

  6. Select Next: Database>Next: Container.

  7. 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.

    Screenshot, der zeigt, wie Sie Ihre Web-App für Container konfigurieren.

    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.

  8. Überprüfen Sie alle Details, und wählen Sie dann "Erstellen" aus.

    Screenshot, der zeigt, wie Sie Ihre Web-App für Container erstellen.

    Warten Sie, bis Azure die erforderlichen Ressourcen erstellt hat.

Navigieren zum benutzerdefinierten Container

Nach Abschluss des Vorgangs zeigt das Azure-Portal eine Benachrichtigung an.

Screenshot, der zeigt, dass die Bereitstellung erfolgreich war.

  1. Wählen Sie Zu Ressource wechseln aus.

  2. Folgen Sie in der Übersicht dem Link neben der Standarddomäne.

Eine neue Browserseite wird geöffnet.

Screenshot eines benutzerdefinierten Windows-Containers, der gestartet wird.

Warten Sie einige Minuten, und versuchen Sie erneut. Versuchen Sie weiterhin, bis Sie die standardmäßige ASP.NET Startseite erhalten.

Screenshot eines benutzerdefinierten Windows-Containers, der ausgeführt wird.

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

  1. Wechseln Sie in Visual Studio zum Projektmappen-Explorer. Wählen Sie "Views>Home>Index.cshtml" aus.

  2. 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>
    
  3. 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.

  4. Wählen Sie im Veröffentlichungsbereich "Veröffentlichen" die Option "Veröffentlichen" aus, und warten Sie, bis die Veröffentlichung abgeschlossen ist.

  5. 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.

    Screenshot der App-Dienstübersicht mit hervorgehobener Schaltfläche

  6. 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.

    Screenshot der aktualisierten Web-App in Azure.

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:

  1. Wählen Sie im Azure-Portalmenü oder auf der Startseite " Ressourcengruppen>myResourceGroup" aus.

  2. Stellen Sie im Bereich "myResourceGroup " sicher, dass die aufgelisteten Ressourcen diejenigen sind, die Sie löschen möchten.

  3. 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.

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

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

  1. Öffnen Sie VS Code.

  2. 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.

    Screenshot, der zeigt, wie Sie sich bei Azure in VS Code anmelden.

  3. Ü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.

  4. 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.

    Screenshot des Werts „Registries“ mit erweiterter Azure-Erweiterung.

Ü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

  1. Ö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"]
    
  2. Öffnen Sie die Befehlspalette, und geben Sie dann Docker-Images ein: BuildImage. Drücken Sie die EINGABETASTE, um den Befehl auszuführen.

  3. 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.

  4. 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.

    Screenshot, der das erstellte Image mit Tag-Bezeichnung zeigt.

Bereitstellen in der Containerregistrierung

  1. Wählen Sie in der Aktivitätsleiste das Docker-Symbol aus. Suchen Sie im IMAGES-Explorer nach dem Image, das Sie erstellt haben.

  2. Erweitern Sie das Bild, klicken Sie mit der rechten Maustaste auf das gewünschte Tag und wählen Sie Push aus.

  3. Stellen Sie sicher, dass das Bild-Tag mit <acr-name>.azurecr.io beginnt und wählen Sie die EINGABETASTE aus.

  4. 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.

    Screenshot, der das In Azure Container Registry bereitgestellte Image zeigt.

Bereitstellen in App Service

  1. 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.
  2. 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:

  1. Wählen Sie im Azure-Portalmenü oder auf der Startseite " Ressourcengruppen>myResourceGroup" aus.

  2. Stellen Sie im Bereich "myResourceGroup " sicher, dass die aufgelisteten Ressourcen diejenigen sind, die Sie löschen möchten.

  3. 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.

Weitere Azure-Erweiterungen:

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.

  1. Melden Sie sich bei der Azure CLI an.

    az login
    
  2. Melden Sie sich bei Azure Container Registry an.

    az acr login -n <your_registry_name>
    
  3. 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 . 
    
  4. Das Container-Image in die Azure-Containerregistrierung pushen.

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux:latest
    

    Hinweis

    Das Dockerfile legt die Portnummer intern auf 80 fest. Weitere Informationen hierzu erfahren Sie unter "Konfigurieren von benutzerdefiniertem Container".

Bereitstellung in Azure

  1. Melden Sie sich beim Azure-Portal an.

  2. Geben Sie app services in das Suchfeld ein. Wählen Sie unter Dienste die Option App Services aus.

    Screenshot, der zeigt, wie Sie im Azure-Portal nach App-Diensten suchen.

  3. Wählen Sie im Bereich "App Services" die Option"Web App> aus.

  4. 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.

    Screenshot des Abschnitts

  5. 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.

    Screenshot des Abschnitts

  6. 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.

    Screenshot der Planoptionen.

  7. Wählen Sie oben im Bereich die Registerkarte "Container " aus.

  8. 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.

    Screenshot der Azure-Containerregistrierungsoptionen.

  9. Wählen Sie "Überprüfen" und "Erstellen" am unteren Rand des Bereichs aus.

    Screenshot der Schaltfläche am unteren Rand des Bereichs.

  10. Wählen Sie nach Ausführung der Validierung Erstellen aus.

  11. Klicken Sie nach Abschluss der Bereitstellung auf Zur Ressource wechseln.

    Screenshot der Schaltfläche, um zur Ressource zu wechseln.

Navigieren zur App

Navigieren Sie in Ihrem Webbrowser zur an der URL http://<app-name>.azurewebsites.net bereitgestellten Anwendung.

Screenshot der 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:

  1. Wählen Sie im Azure-Portalmenü oder auf der Startseite " Ressourcengruppen>myResourceGroup" aus.

  2. Stellen Sie im Bereich "myResourceGroup " sicher, dass die aufgelisteten Ressourcen diejenigen sind, die Sie löschen möchten.

  3. 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.

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

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.

  1. Melden Sie sich bei der Azure CLI an.

    az login
    
  2. Melden Sie sich bei Azure Container Registry an.

    az acr login -n <your_registry_name>
    
  3. 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 . 
    
  4. Das Container-Image in die Azure-Containerregistrierung pushen.

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows:latest
    

    Hinweis

    Die Dockerfile legt intern die Portnummer auf 80 fest. Weitere Informationen finden Sie unter Konfigurieren eines benutzerdefinierten Containers.

Bereitstellung in Azure

  1. Melden Sie sich beim Azure-Portal an.

  2. Geben Sie App-Dienste in das Suchfeld ein. Wählen Sie unter Dienste die Option App Services aus.

    Screenshot, der zeigt, wie Sie im Azure-Portal nach App-Diensten suchen.

  3. Wählen Sie in App Services "Web App> aus.

  4. Wählen Sie auf der Registerkarte " Grundlagen " unter "Projektdetails" das richtige Abonnement aus. Wählen Sie "Neu erstellen" aus. Geben Sie myResourceGroup als Namen ein.

    Screenshot des Abschnitts

  5. 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.

    Screenshot des Abschnitts

  6. Wählen Sie unter "App Service Plan" die Option "Neu erstellen" aus. Geben Sie myAppServicePlan als 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.

    Screenshot, der App Service-Planoptionen zeigt.

  7. Wählen Sie oben im Bereich die Registerkarte "Container " aus.

  8. 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.

    Screenshot der Azure-Containerregistrierungsoptionen.

  9. Wählen Sie "Überprüfen" und "Erstellen" am unteren Rand des Bereichs aus.

    Screenshot der Schaltfläche

  10. Wählen Sie nach Ausführung der Validierung Erstellen aus.

  11. Klicken Sie nach Abschluss der Bereitstellung auf Zur Ressource wechseln.

    Screenshot, der zeigt, wie Sie zur Ressource wechseln.

Zur App wechseln

Wechseln Sie zur bereitgestellten Anwendung in Ihrem Webbrowser unter der URL http://<app-name>.azurewebsites.net.

Screenshot des Windows-App-Diensts.

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:

  1. Wählen Sie im Azure-Portalmenü oder auf der Startseite " Ressourcengruppen>myResourceGroup" aus.

  2. Stellen Sie im Bereich "myResourceGroup " sicher, dass die aufgelisteten Ressourcen diejenigen sind, die Sie löschen möchten.

  3. 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.

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

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 Name Parameter gibt den Namen der Web-App an.
  • Der AppServicePlan Parameter gibt den Namen des App Service-Plans an.
  • Der Location Parameter gibt den Speicherort an.
  • Der ResourceGroupName Parameter gibt den Namen der Ressourcengruppe an.
  • Der ContainerImageName Parameter 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.

Screenshot des Windows-App-Diensts.

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

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

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 Name Parameter gibt den Namen der Web-App an.
  • Der AppServicePlan Parameter gibt den Namen des App Service-Plans an.
  • Der Location Parameter gibt den Speicherort an.
  • Der ResourceGroupName Parameter gibt den Namen der Ressourcengruppe an.
  • Der deployment-container-image-name Parameter 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.

Screenshot des Windows-App-Diensts.

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>