Freigeben über


Schnellstart: Verwenden von Docker mit einer React-Einzelseitenanwendung in Visual Studio

Mit Visual Studio können Sie containerisierte ASP.NET Core-Apps ganz einfach erstellen, debuggen und ausführen, einschließlich der apps mit clientseitigem JavaScript wie React.js Einzelseitenanwendung (Single Page Application, SPA) und veröffentlichen Sie sie in Azure Container Registry, Docker Hub, Azure App Service oder Ihrer eigenen Containerregistrierung. In diesem Artikel wird die Veröffentlichung in Azure Container Registry erläutert.

Voraussetzungen

Installation und Einrichtung

Überprüfen Sie bei der Docker-Installation zunächst die Informationen unter Docker Desktop für Windows: Was Sie wissen sollten, bevor Sieinstallieren. Installieren Sie als Nächstes Docker Desktop.

Erstellen eines Projekts und Hinzufügen der Docker-Unterstützung

  1. Erstellen Sie ein neues Projekt mithilfe der ASP.NET Core mit React.js Vorlage.

    Screenshot zum Erstellen eines neuen React.js Projekts.

  2. Im Bildschirm Zusätzliche Informationen ist keine Auswahl von Docker-Unterstützung aktivieren möglich, Sie können die Unterstützung jedoch später hinzufügen.

    Screenshot des Erstellens eines neuen React.js Projekts – Bildschirm

  3. Klicken Sie mit der rechten Maustaste auf den Projektknoten, und wählen Sie "Hinzufügen>Docker Support" aus, um Ihrem Projekt eine Dockerfile-Datei hinzuzufügen.

    Screenshot des Menüelements

  4. Wählen Sie den Containertyp aus.

Der nächste Schritt unterscheidet sich je nachdem, ob Sie Linux-Container oder Windows-Container verwenden.

Anmerkung

Wenn Sie die neuesten Projektvorlagen in Visual Studio 2022 oder höher verwenden, müssen Sie die Dockerfile-Datei nicht ändern.

Ändern der Dockerfile-Datei (Linux-Container)

Eine Dockerfile-Datei, der wichtigste Bestandteil beim Erstellen eines endgültigen Docker-Images, wird im Projekt erstellt. Informationen zu den darin enthaltenen Befehlen finden Sie unter Dockerfile-Referenz.

Die Standard-Dockerfile-Datei verwendet ein Basisimage zum Ausführen des Containers. Wenn Sie aber auch eine Node.js Anwendung darauf ausführen möchten, müssen Sie Node.jsinstallieren, was bedeutet, dass einige Installationsbefehle an einigen Stellen in der Dockerfile-Datei hinzugefügt werden. Die Installationsbefehle erfordern erhöhte Berechtigungen, da sich die Änderungen auf die privilegierten Systemdateien und Ordner des Containers auswirken.

Wenn das Kontrollkästchen Für HTTPS konfigurieren des Dialogfelds „Neues Projekt“ aktiviert ist, stellt die Dockerfile zwei Ports zur Verfügung. Ein Port wird für HTTP-Datenverkehr verwendet; der andere Port wird für HTTPS verwendet. Wenn das Kontrollkästchen nicht aktiviert ist, wird ein einzelner Port (80) für HTTP-Datenverkehr verfügbar gemacht.

Wenn Sie .NET 8 oder höher anvisieren, erstellt Visual Studio standardmäßig ein Dockerfile, das das normale Benutzerkonto verwendet (suchen Sie nach der Zeile USER app), aber dieses Konto verfügt nicht über die erforderlichen erhöhten Berechtigungen, um Node.jszu installieren. Gehen Sie wie folgt vor, um diese Situation zu berücksichtigen:

  1. Löschen Sie in der Dockerfile-Datei die Zeile USER app.
  2. Ändern Sie die Ports, die im ersten Abschnitt der Dockerfile exponiert werden, auf Port 80 für HTTP-Anfragen und (falls Sie sich entschieden haben, bei der Erstellung des Projekts HTTPS zu unterstützen) auf Port 443 für HTTPS-Anfragen.
  3. Bearbeiten Sie launchSettings.json, um die Portverweise dort auf 80 und 443 zu ändern; Ersetzen Sie 8080 durch 80 für HTTP und 8081 durch 443 für HTTPS.

Führen Sie für alle .NET-Versionen die folgenden Schritte aus, um die Dockerfile zu aktualisieren, um Node.jszu installieren:

  1. Fügen Sie die folgenden Zeilen hinzu, um curl, Node.js 14.x und bestimmte erforderliche Knotenbibliotheken im Container zu installieren. Fügen Sie diese Zeilen sowohl im ersten Abschnitt, um die Installation des Node-Paket-Managers npm.exe zum Basisimage hinzuzufügen, als auch im Abschnitt build hinzu.
RUN apt-get update
RUN apt-get install -y curl
RUN apt-get install -y libpng-dev libjpeg-dev curl libxi6 build-essential libgl1-mesa-glx
RUN curl -sL https://deb.nodesource.com/setup_lts.x | bash -
RUN apt-get install -y nodejs

Die Dockerfile sollte in etwa wie folgt aussehen:

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
RUN apt-get update
RUN apt-get install -y curl
RUN apt-get install -y libpng-dev libjpeg-dev curl libxi6 build-essential libgl1-mesa-glx
RUN curl -sL https://deb.nodesource.com/setup_lts.x | bash -
RUN apt-get install -y nodejs

FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
RUN apt-get update
RUN apt-get install -y curl
RUN apt-get install -y libpng-dev libjpeg-dev curl libxi6 build-essential libgl1-mesa-glx
RUN curl -sL https://deb.nodesource.com/setup_lts.x | bash -
RUN apt-get install -y nodejs
WORKDIR /src
COPY ["ProjectSPA1/ProjectSPA1.csproj", "ProjectSPA1/"]
RUN dotnet restore "ProjectSPA1/ProjectSPA1.csproj"
COPY . .
WORKDIR "/src/ProjectSPA1"
RUN dotnet build "ProjectSPA1.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "ProjectSPA1.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "ProjectSPA1.dll"]

Die vorangehende Dockerfile- basiert auf dem mcr.microsoft.com/dotnet/aspnet Image und enthält Anweisungen zum Ändern des Basisimages, indem Sie Ihr Projekt erstellen und dem Container hinzufügen.

Ändern der Dockerfile-Datei (Windows-Container)

Öffnen Sie die Projektdatei, indem Sie auf den Projektknoten doppelklicken und die Projektdatei (*.csproj) aktualisieren, indem Sie die folgende Eigenschaft als untergeordnetes Element des <PropertyGroup>-Elements hinzufügen:

 <DockerfileFastModeStage>base</DockerfileFastModeStage>

Anmerkung

Die Änderung an DockerfileFastModeStage ist erforderlich, da die Dockerfile hier am Dateianfang eine Phase hinzufügt. Um die Leistung zu optimieren, verwendet Visual Studio Fast-Modus, funktioniert aber nur, wenn die richtige Phase verwendet wird. Die Standardeinstellung ist die erste Phase in der Dockerfile-Datei, die in diesem Beispiel von base in etwas anderes geändert wird, um Node.jsherunterzuladen. Weitere Erläuterungen zu Schnellmodus-finden Sie unter Anpassen von Docker-Containern in Visual Studio.

Aktualisieren Sie die Dockerfile-Datei, indem Sie die folgenden Zeilen hinzufügen. Diese Zeilen kopieren Node.js und „npm“ in den Container.

  1. Hinzufügen von # escape=` zur ersten Zeile der Dockerfile-Datei

  2. Fügen Sie die folgenden Zeilen vor FROM ... base

    FROM mcr.microsoft.com/powershell AS downloadnodejs
    ENV NODE_VERSION=14.16.0
    SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop';$ProgressPreference='silentlyContinue';"]
    RUN Invoke-WebRequest -OutFile nodejs.zip -UseBasicParsing "https://nodejs.org/dist/v$($env:NODE_VERSION)/node-v$($env:NODE_VERSION)-win-x64.zip"; `
        Expand-Archive nodejs.zip -DestinationPath C:\; `
        Rename-Item "C:\node-v$($env:NODE_VERSION)-win-x64" c:\nodejs
    
  3. Fügen Sie die folgende Zeile vor und nach FROM ... build

    COPY --from=downloadnodejs C:\nodejs\ C:\Windows\system32\
    
  4. Die vollständige Dockerfile-Datei sollte nun etwa wie folgt aussehen:

    # escape=`
    #Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed.
    #For more information, please see https://aka.ms/containercompat
    FROM mcr.microsoft.com/powershell AS downloadnodejs
    ENV NODE_VERSION=14.16.0
    SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop';$ProgressPreference='silentlyContinue';"]
    RUN Invoke-WebRequest -OutFile nodejs.zip -UseBasicParsing "https://nodejs.org/dist/v$($env:NODE_VERSION)/node-v$($env:NODE_VERSION)-win-x64.zip"; \
        Expand-Archive nodejs.zip -DestinationPath C:\; \
        Rename-Item "C:\node-v$($env:NODE_VERSION)-win-x64" c:\nodejs
    
    FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS base
    WORKDIR /app
    EXPOSE 80
    EXPOSE 443
    COPY --from=downloadnodejs C:\\nodejs C:\\Windows\\system32
    
    FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
    COPY --from=downloadnodejs C:\\nodejs C:\\Windows\\system32
    WORKDIR /src
    COPY ["ProjectSPA1/ProjectSPA1.csproj", "ProjectSPA1/"]
    RUN dotnet restore "ProjectSPA1/ProjectSPA1.csproj"
    COPY . .
    WORKDIR "/src/ProjectSPA1"
    RUN dotnet build "ProjectSPA1.csproj" -c Release -o /app/build
    
    FROM build AS publish
    RUN dotnet publish "ProjectSPA1.csproj" -c Release -o /app/publish
    
    FROM base AS final
    WORKDIR /app
    COPY --from=publish /app/publish .
    ENTRYPOINT ["dotnet", "ProjectSPA1.dll"]
    
  5. Aktualisieren Sie die .dockerignore Datei, indem Sie die **/binentfernen.

Führen Sie die folgenden Schritte aus, wenn Sie Visual Studio 2022, Version 17.8 oder höher, verwenden:

  1. Erstellen Sie ein neues Projekt mithilfe der Vorlage React und ASP.NET Core.

    Screenshot zum Erstellen eines neuen React- und ASP.NET Core-Projekts.

  2. Wählen Sie auf dem Bildschirm Zusätzliche Informationen die Option Containerunterstützung aktivieren aus. Wählen Sie unbedingt Dockerfile Option aus, da Sie änderungen an dieser Datei manuell vornehmen müssen.

    Screenshot des Erstellens eines React- und ASP.NET Core-Projekts – Bildschirm

    Anmerkung

    In einigen Versionen von Visual Studio 2022 ist diese Option nicht aktiviert, Sie können diese Unterstützung aber später hinzufügen.

    Visual Studio erstellt zwei Projekte – eines für den React-JavaScript-Clientcode und einen für den ASP.NET Core C#-Servercode.

  3. Wenn Sie während der Projekterstellung keine Docker-Containerunterstützung hinzugefügt haben, klicken Sie mit der rechten Maustaste auf den Serverprojektknoten, und wählen Sie ">Docker Support hinzufügen" aus, und wählen Sie die Dockerfile-Option zum Erstellen einer Dockerfile-Datei aus.

    Screenshot des Menüelements

  4. Wählen Sie den Containertyp aus.

Führen Sie die folgenden Schritte für Visual Studio 2022, Version 17.0 bis 17.7, aus:

  1. Erstellen Sie ein neues Projekt mithilfe der ASP.NET Core mit React.js Vorlage.

    Screenshot zum Erstellen eines neuen React.js Projekts.

  2. Im Bildschirm Zusätzliche Informationen ist keine Auswahl von Docker-Unterstützung aktivieren möglich, Sie können die Unterstützung jedoch später hinzufügen.

    Screenshot des Erstellens eines neuen React.js Projekts – Bildschirm

  3. Klicken Sie mit der rechten Maustaste auf den Projektknoten, und wählen Sie "Hinzufügen>Docker Support" aus, um Ihrem Projekt eine Dockerfile-Datei hinzuzufügen.

    Screenshot des Menüelements

  4. Wählen Sie den Containertyp aus.

Debuggen

Mit Visual Studio 2022, Version 17.9 oder höher und der vorlage React und ASP.NET Core, die vite.jsverwendet, sind die Projekte bereits so konfiguriert, dass sowohl die Client- als auch die Serverprojekte mit Debugunterstützung gestartet werden. Sie müssen jedoch den richtigen Port für den Spa-Proxy (Single-Page Application) einrichten, um auf den im Container ausgeführten ASP.NET Core-Server zuzugreifen. Sie können den Hostport aus dem Fenster Container in Visual Studio abrufen und im React-Projekt festlegen, wie in Erstellen einer React-App – Dockerbeschrieben.

Sie können auch den Start im Browser für den Server deaktivieren, der für das Öffnen mit Swagger eingerichtet ist, was für dieses Szenario nicht erforderlich ist. Um den Browserstart zu deaktivieren, öffnen Sie die Eigenschaften (Alt+Eingabe), wechseln Sie zur Registerkarte Debuggen, und klicken Sie auf den Link Öffnen der Benutzeroberfläche von Debugstartprofilen, und deaktivieren Sie das Kontrollkästchen Browser starten.

Wenn Sie eine frühere Version von Visual Studio 2022 verwenden, lesen Sie weiter, um das Debuggen mit dem Spa-Proxyserver (Single Page Application) einzurichten.

Das Projekt verwendet den SPA-Proxy beim Debuggen. Siehe Verbesserte SPA-Vorlagen (Single-Page-Webanwendungen). Beim Debuggen wird der JavaScript-Client auf dem Hostcomputer ausgeführt, der ASP.NET Core-Servercode wird jedoch im Container ausgeführt. Bei der Veröffentlichung wird der Proxy nicht ausgeführt, und der Clientcode wird auf demselben Server wie der ASP.NET Core-Code ausgeführt. Sie verfügen bereits über ein Debugprofil *Docker, mit dem Sie den Servercode debuggen können. Zum Debuggen des JavaScript-Clientcodes können Sie ein zusätzliches Debugprofil erstellen. Sie müssen den Proxy auch manuell über eine Eingabeaufforderung starten, wenn Sie JavaScript debuggen. Sie können es über mehrere Debugsitzungen weiterlaufen lassen.

  1. Erstellen Sie das Projekt, sofern es noch nicht bereits erstellt ist.

  2. Öffnen Sie eine Visual Studio-Entwickler-Eingabeaufforderung, wechseln Sie zum ClientApp-Ordner in Ihrem Projekt, und geben Sie dann den Befehl, npm run start. Sie sollten etwa folgendes sehen:

    Compiled successfully!
    
    You can now view project3_spa in the browser.
    
      Local:            https://localhost:44407
      On Your Network:  https://192.168.1.5:44407
    
    Note that the development build isn't optimized.
    To create a production build, use npm run build.
    
    webpack compiled successfully
    

    Anmerkung

    Notieren Sie sich die lokale URL. Sie müssen dies in einem Debugstartprofil angeben, das in Ihrer launchSettings.json-Datei gespeichert ist.

  3. Öffnen Sie die Dropdown-Liste, die die Debugprofile enthält (neben dem grünen Dreieckssymbol oder der Schaltfläche „Start“), und wählen Sie {ProjectName} Debug-Eigenschaften, dann das Profil Docker aus.

  4. Überprüfen Sie den Abschnitt Umgebungsvariablen, und fügen Sie die folgenden Umgebungsvariablen hinzu, falls noch nicht vorhanden:

    ASPNETCORE_ENVIRONMENT=Development,ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=Microsoft.AspNetCore.SpaProxy

  5. Legen Sie die -URL- auf https://localhost:{proxy-port} fest, wobei {proxy-port} der Port vom Proxyserver ist (aus Schritt 1).

    Screenshot der Einstellungen für das Debugstartprofil für das Clientdebugging.

    Diese Aktion ändert den Docker-Eintrag in der launchSettings.json-Datei und startet die richtige URL für den lokalen Proxy, der auf dem Host ausgeführt wird. Suchen Sie die launchSettings.json-Datei im Projektmappen-Explorer unter Eigenschaften.

  6. Sie sollten etwa den folgenden Code sehen:

    "profiles": {
       "Docker": {
          "commandName": "Docker",
          "launchBrowser": true,
          "environmentVariables": {
            "ASPNETCORE_ENVIRONMENT": "Development",
            "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.SpaProxy"
          },
          "launchUrl": "https://localhost:44407",
          "useSSL": true
       }
    }
    

    Wichtig

    Legen Sie die Starteinstellungsoption publishAllPorts nicht auf true fest, wenn Sie einen Proxy verwenden. Diese Option veröffentlicht alle verfügbar gemachten Ports für einen zufälligen Port, der nicht funktioniert, wenn Sie einen bestimmten Port im SPA-Proxy festlegen.

  7. Öffnen Sie die Datei ClientApp/src/setupProxy.js, und ändern Sie die Zeile, die das Ziel festlegt, um die localhost Adresse und den Port für den Container zu verwenden. Sie finden den Port auf der Registerkarte Ports im Fenster Container.

    const target =  'https://localhost:{container-port}';
    

    Wenn Sie HTTPS verwenden, wählen Sie unbedingt den richtigen Port für HTTPS aus, der in diesem Lernprogramm 443 ist.

  8. Starten Sie die App mit Debugging (F5).

    Screenshot der ausgeführten App.

    Wenn beim Versuch, die Ausgabeassemblys zu schreiben, ein Buildfehler auftritt, müssen Sie möglicherweise einen zuvor ausgeführten Container beenden, um die Dateien zu entsperren.

  9. Stellen Sie sicher, dass Sie in clientseitigem JavaScript-Code einen Haltepunkt erreichen können, indem Sie einen Haltepunkt in ClientApp/src/components/Counter.js in der Funktion incrementCounter festlegen und dann versuchen, den Haltepunkt zu erreichen, indem Sie auf der Seite „Zähler“ auf die Schaltfläche Erhöhen klicken.

    Screenshot mit dem Ausbuggen von clientseitigem JavaScript.

  10. Versuchen Sie als Nächstes, einen Haltepunkt im serverseitigen ASP.NET Core-Code zu erreichen. Legen Sie einen Haltepunkt in WeatherController.cs in der Get-Methode fest, und versuchen Sie, /weatherforecast an die Basis-localhost anzufügen und die URL zu portieren, um diesen Code zu aktivieren.

    Screenshot mit dem Debuggen von serverseitigem ASP.NET Core-Code.

  11. Wenn sich der Containerport ändert, was passieren kann, wenn Sie eine erhebliche Änderung vornehmen, z. B. das Aktualisieren launchSettings.json oder das Aktualisieren des Debugstartprofils in der IDE, müssen Sie den Port in setupProxy.js aktualisieren und auch den Proxy neu starten. Beenden Sie den aktuellen Proxy (STRG+C im Befehlsfenster, in dem er ausgeführt wird), und starten Sie ihn dann mit demselben Befehl npm run startneu.

Wählen Sie Docker aus der Dropdownliste "Debuggen" in der Symbolleiste aus, und starten Sie das Debuggen der App. Möglicherweise wird eine Meldung mit einer Eingabeaufforderung zum Vertrauen auf ein Zertifikat angezeigt. Wählen Sie aus, dass dem Zertifikat vertraut wird, um den Vorgang fortzusetzen. Beim ersten Erstellen lädt Docker die Basisimages herunter, daher kann es etwas länger dauern.

Die Option Containertools im Fenster Ausgabe zeigt, welche Aktionen ausgeführt werden. Die Installationsschritte, die npm.exezugeordnet sind, sollten angezeigt werden.

Der Browser zeigt die Startseite der App an.

Screenshot der ausgeführten App.

Fenster „Container“

Öffnen Sie das Toolfenster Container. Sie finden es im Menü unter Ansicht>Andere Fenster>Container, oder drücken Sie STRG+Q und beginnen Sie mit der Eingabe im Suchfeld containers, und wählen Sie dann das Container Fenster aus den Ergebnissen aus. Wenn das Fenster angezeigt wird, docken Sie es am unteren Rand unter dem Editorbereich an.

Im Fenster Container werden die laufenden Container angezeigt, und Sie können Informationen zu ihnen einsehen. Sie können die Umgebungsvariablen, Bezeichnungen, Ports, Volumes, das Dateisystem und Protokolle anzeigen. Mit den Symbolleistenschaltflächen können Sie ein Terminal (Shellaufforderung) innerhalb des Containers erstellen, den Debugger anfügen oder nicht verwendete Container löschen. Weitere Informationen finden Sie unter Verwenden des Fensters „Container“.

Screenshot des Fensters

Klicken Sie auf die Registerkarte Dateien, und erweitern Sie den Ordner app, um Ihre veröffentlichten Anwendungsdateien anzuzeigen.

Sie können die Bilder auch anzeigen und Informationen zu ihnen überprüfen. Wählen Sie die Registerkarte "Bilder" aus, suchen Sie die Registerkarte "Bilder" für Ihr Projekt, und wählen Sie dann die Registerkarte Details aus, um eine JSON-Datei anzuzeigen, die Informationen zu einem Bild enthält.

Screenshot des Fensters

Anmerkung

Das dev-Image enthält weder die Binärdateien der App noch andere Inhalte, da die Debugkonfigurationen die Volumebereitstellung nutzen, um die iterativen Bearbeitungs- und Debugfunktionen bereitzustellen. Verwenden Sie zum Erstellen eines Produktionsimages, das alle Inhalte enthält, die konfiguration Release.

Veröffentlichen von Docker-Images

Sobald der Entwicklungs- und Debugzyklus der App abgeschlossen ist, können Sie ein Produktionsbild der App erstellen.

  1. Ändern Sie die Dropdownliste der Konfiguration in Release-, und erstellen Sie die App.

  2. Klicken Sie mit der rechten Maustaste auf Ihr Projekt im Projektmappen-Explorer, und wählen Sie Veröffentlichenaus.

  3. Klicken Sie im Dialogfeld „Veröffentlichungsziel“ auf Docker-Containerregistrierung.

  4. Wählen Sie als Nächstes Azure Container Registryaus.

    Azure Container Registry auswählen.

  5. Wählen Sie Erstellen einer neuen Azure-Containerregistrierungaus.

  6. Füllen Sie die gewünschten Werte im Bildschirm Erstellen einer neuen Azure-Containerregistrierung aus.

    Einstellung Vorgeschlagener Wert Beschreibung
    DNS-Präfix Global eindeutiger Name Der Name, der Ihre Containerregistrierung eindeutig identifiziert.
    Abonnement Wählen Sie Ihr Abonnement aus Das zu verwendende Azure-Abonnement.
    Ressourcengruppe meineRessourcengruppe Name der Ressourcengruppe, in der Die Containerregistrierung erstellt werden soll. Wählen Sie Neue aus, um eine neue Ressourcengruppe zu erstellen.
    SKU Norm Dienstebene der Containerregistrierung
    Registrierungsstandort Ein Ort in der Nähe von Ihnen Wählen Sie einen Speicherort in einer Region in Ihrer Nähe oder in der Nähe anderer Dienste aus, die Ihre Containerregistrierung verwenden.

    Screenshot des Dialogfelds

  7. Klicken Sie auf Erstellen und dann auf Fertig stellen.

    Screenshot mit der Option

    Wenn der Veröffentlichungsprozess endet, können Sie die Veröffentlichungseinstellungen überprüfen und bei Bedarf bearbeiten oder das Bild mithilfe der Schaltfläche Veröffentlichen erneut veröffentlichen.

    Screenshot: erfolgreiche Veröffentlichung.

    Um erneut mit dem Dialogfeld Veröffentlichen zu beginnen, löschen Sie das Veröffentlichungsprofil mithilfe des Links Löschen auf dieser Seite, und wählen Sie dann Veröffentlichen erneut aus.

  1. Ändern Sie die Dropdownliste der Konfiguration in Release-, und erstellen Sie die App.

  2. Klicken Sie mit der rechten Maustaste auf Ihr Projekt im Projektmappen-Explorer, und wählen Sie Veröffentlichenaus.

  3. Wählen Sie im Dialogfeld "Veröffentlichungsziel" Docker Container Registryaus.

    Screenshot mit

  4. Wählen Sie als Nächstes Azure Container Registryaus.

    Screenshot mit

  5. Wählen Sie Erstellen einer neuen Azure-Containerregistrierungaus.

  6. Füllen Sie die gewünschten Werte im Bildschirm Erstellen einer neuen Azure-Containerregistrierung aus.

    Einstellung Vorgeschlagener Wert Beschreibung
    DNS-Präfix Global eindeutiger Name Der Name, der Ihre Containerregistrierung eindeutig identifiziert.
    Abonnement Wählen Sie Ihr Abonnement aus Das zu verwendende Azure-Abonnement.
    Ressourcengruppe myResourceGroup Name der Ressourcengruppe, in der Die Containerregistrierung erstellt werden soll. Wählen Sie Neue aus, um eine neue Ressourcengruppe zu erstellen.
    SKU Norm Dienstebene der Containerregistrierung
    Registrierungsstandort Ein Ort in der Nähe von Ihnen Wählen Sie einen Speicherort in einer Region in Ihrer Nähe oder in der Nähe anderer Dienste aus, die Ihre Containerregistrierung verwenden.

    Screenshot des Dialogfelds

  7. Klicken Sie auf Erstellen und dann auf Fertig stellen.

    Screenshot mit der Option

    Wenn der Veröffentlichungsprozess endet, können Sie die Veröffentlichungseinstellungen überprüfen und bei Bedarf bearbeiten oder das Bild mithilfe der Schaltfläche Veröffentlichen erneut veröffentlichen.

    Screenshot mit erfolgreicher Veröffentlichung

    Um erneut mit dem Dialogfeld Veröffentlichen zu beginnen, löschen Sie das Veröffentlichungsprofil mithilfe des Links Löschen auf dieser Seite, und wählen Sie dann Veröffentlichen erneut aus.

Nächste Schritte

Sie können den Container jetzt aus der Registrierung auf jeden Host abrufen, der Docker-Images ausführen kann, z. B. Azure Container Instances.

Weitere Ressourcen