Schritte zum Ausführen von ASP.NET Core im Docker-Container

Schritte zum Ausführen von ASP.NET Core im Docker-Container

Es gibt in letzter Zeit zu viel Wissen zu lernen, und ich weiß nicht, welches ich zuerst lernen soll. Ursprünglich hatte ich geplant, diesen Blog über die Verwendung von Listview in xamarin.forms zu schreiben. Es gibt einen Artikel auf Jianshu, der die Verwendung von Listview ausführlich vorstellt, daher werde ich ihn vorerst zurückstellen. Es ist eine sekundäre Aufgabe und ich werde ihn später schreiben. Diese Woche habe ich auf dem allmächtigen Taobao ein Tutorial zur Blockchain gefunden und etwas über .net Core gelernt. In den letzten ein oder zwei Jahren habe ich die C#-Technologie nicht viel verfolgt und mich auf Java konzentriert. Als .net core 1.0 veröffentlicht wurde, hatte ich das Gefühl, dass .net core noch nicht perfekt war, also habe ich es nicht gelernt. Ich hätte nicht erwartet, dass .net core so schnell 3.0 erreichen würde. Schließlich komme ich aus C# und kann meine Wurzeln nicht vergessen. Deshalb habe ich vor, in Zukunft mehr über .net core zu lernen. Nach einem groben Blick stellte ich fest, dass es viele Schnittpunkte mit .net gibt. Das vielleicht größte Merkmal ist der plattformübergreifende Teil. Dieser Artikel stellt zunächst die Verwendung von Docker zum Ausführen von ASP.NET-Kernanwendungen vor.

1. Erstellen Sie eine neue asp.net-Core-Anwendung

Hier wird eine neue asp.net Core-Anwendung namens myWebApp erstellt.

2. Docker-Unterstützung hinzufügen

Es gibt zwei Möglichkeiten, Docker-Unterstützung hinzuzufügen. Eine besteht darin, die Docker-Unterstützung beim Erstellen eines neuen Projekts zu aktivieren, oder die andere darin, mit der rechten Maustaste auf das erstellte Projekt zu klicken -> Hinzufügen -> Docker-Unterstützung.

Sie müssen auch auswählen, ob es sich um eine Fensterplattform oder eine Linux-Plattform handelt. Wenn es sich um ein Fenstersystem handelt, müssen Sie die Fensterplattform festlegen, und Docker muss auch auf Fenstercontainer eingestellt werden. Wie in der folgenden Abbildung gezeigt, wird der Fehler „Das Image-Betriebssystem „Windows“ kann auf dieser Plattform nicht verwendet werden“ gemeldet, weil die falsche Plattform ausgewählt ist.

3. Erstellen Sie ein Docker-Image

Nach dem Hinzufügen der Docker-Unterstützung wird die Dockerfile-Datei automatisch generiert. Hier gibt es eine Falle. In der Zeile COPY ["myWebApp/myWebApp.csproj", "myWebApp/"] müssen Sie auf myWebApp/myWebApp.csproj achten. Dabei handelt es sich um die Projektdatei myWebApp.csproj im Verzeichnis myWebApp. Daher müssen Sie die erstellte Dockerfile in das Projektdateiverzeichnis kopieren.

#Abhängig vom Betriebssystem der Hostcomputer, die die Container erstellen oder ausführen, muss das in der FROM-Anweisung angegebene Image möglicherweise geändert werden.
#Weitere Informationen finden Sie unter https://aka.ms/containercompat

VON microsoft/dotnet:2.2-aspnetcore-runtime-nanoserver-sac2016 ALS Basis
ARBEITSVERZEICHNIS /app
AUSSETZEN 80

VON microsoft/dotnet:2.2-sdk-nanoserver-sac2016 ALS Build
ARBEITSVERZEICHNIS /src
KOPIEREN ["myWebApp/myWebApp.csproj", "myWebApp/"]
Führen Sie dotnet restore "myWebApp/myWebApp.csproj" aus.
KOPIEREN . .
WORKDIR "/src/meineWebApp"
Führen Sie den Befehl dotnet build "myWebApp.csproj" -c Release -o /app aus.

VON Erstellen ALS Veröffentlichen
Führen Sie den Befehl dotnet publish "myWebApp.csproj" -c Release -o /app aus.

VON Basis ALS Finale
ARBEITSVERZEICHNIS /app
KOPIEREN --from=publish /app .
ENTRYPOINT ["dotnet", "myWebApp.dll"] 

Verwenden Sie im Projektverzeichnis den Docker-Befehl „build“, um ein Docker-Image zu generieren: docker build -t aspnetdemo . (Nach „aspnetdemo“ steht ein ., der den Dockerfile-Pfad angibt). Hier wird ein aspnetdemo-Image erstellt. Da Dockerfile zum ersten Mal ausgeführt wird, müssen einige grundlegende .net-Core-Images heruntergeladen werden. Da die Internetgeschwindigkeit zu Hause relativ langsam ist, dauerte der Downloadvorgang lange.

4. Starten Sie den Container

Im dritten Schritt wurde das Image erstellt. Sie können Docker-Images verwenden, um das erstellte Image anzuzeigen, und dann Docker Run verwenden, um den Container zum Ausführen der .net-Core-Anwendung zu starten.

Geben Sie http://localhost:8080/ in Ihren Browser ein und Sie sehen die folgende Seite.

In der offiziellen Dokumentation von Microsoft heißt es, dass Sie bei der Verwendung von Windows-Containern direkt zur IP-Adresse des Containers im Browser gehen müssen. Hier wird -p verwendet, um den Port zuzuordnen, sodass Sie darauf zugreifen können, indem Sie direkt http://localhost:8080/ eingeben.

Verwenden Sie als Nächstes ipconfig, um die dem Container zugeordnete Docker-IP zu finden, und geben Sie dann die Docker-IP in den Browser ein, um darauf zuzugreifen.

V. Zusammenfassung

Dieser Artikel stellt nur kurz die Bereitstellung von ASP.NET Core-Anwendungen mit Docker vor. In Zukunft kann NET Core eine Verbindung zu Containern wie Datenbanken und Redis herstellen, was Container-Verbindungen, Container-Orchestrierungstechnologie und kontinuierliche DevOps-Integration beinhaltet. Es kann in Zukunft erheblich erweitert werden, und Sie können später mehr darüber erfahren.

Das könnte Sie auch interessieren:
  • .Net Core stellt Docker-Container bereit
  • ASP.NET Core-Entwicklung Docker-Bereitstellung
  • Docker stellt Mysql, .Net6, Sqlserver und andere Container bereit
  • Stellen Sie das .Net6-Projekt im Docker bereit
  • So stellen Sie .NET 5 auf Docker bereit
  • Ein vorläufiges Tutorial zur Verwendung von Docker mit .Net Core
  • .NETCore Docker implementiert Containerisierung und privates Image-Repository-Management
  • Vollständige Schritte zum Bereitstellen von Asp.net-Kernanwendungen mit Docker
  • .Net-Entwicklung und -Bereitstellung mit Docker

<<:  MySQL 5.6 Installationsschritte mit Bildern und Text

>>:  Detaillierte Analyse der Replikation in MySQL

Artikel empfehlen

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.21

Notieren Sie die Installations- und Konfiguration...

Designideen für MySQL-Backup und -Wiederherstellung

Hintergrund Lassen Sie mich zunächst den Hintergr...

Vue implementiert Beispielcode zur Formulardatenvalidierung

Fügen Sie dem el-form-Formular Regeln hinzu: Defi...

Django2.* + Mysql5.7-Entwicklungsumgebung Integrations-Tutorial-Diagramm

Umfeld: MAC_OS 10.12 Python 3.6 MySQL 5.7.25 Djan...

Verwendung des Docker-Systembefehlssatzes

Inhaltsverzeichnis Docker-System df Docker-System...

VMware12 installiert die Desktopversion von Ubuntu19.04 (Installations-Tutorial)

1. Versuchsbeschreibung Installieren Sie in der v...

Mehrere Möglichkeiten zum Generieren eindeutiger IDs in JavaScript

Mögliche Lösungen 1. Math.random generiert Zufall...

Vue und React im Detail

Inhaltsverzeichnis 1. Panorama II. Hintergrund 1....

Detaillierte Erklärung zur Installation von MySQL in der Alibaba Cloud

Als leichte Open-Source-Datenbank wird MySQL häuf...

Tiefgreifendes Verständnis des Javascript-Klassenarrays

js-Arrays sind wahrscheinlich jedem bekannt, da s...

Lösung für das Problem ungültiger Breiteneinstellungen für Label und Span

Standardmäßig ist die Einstellung der Breite für B...

Vue realisiert Bildwechseleffekt

In diesem Artikelbeispiel wird der spezifische Co...