Einer der Hauptvorteile von Docker besteht darin, dass Sie Softwareprojekte ausführen können, ohne komplexe Entwicklungsumgebungen einrichten zu müssen.

In dieser Anleitung erfahren Sie, wie Sie ein Docker-Image einer .NET 5-Web-API erstellen. Anschließend können Sie das Image verwenden, um den Back-End-Code von jedem PC aus auszuführen, auf dem Docker installiert ist, und mit der API Ihres Front-End-Webprojekts oder einer mobilen App zu interagieren.

Erstellen einer .NET 5-Web-API

Sowohl Docker als auch .NET 5 sind Open Source und plattformübergreifend, daher können Sie dieser Anleitung folgen, unabhängig davon, ob Sie macOS, Windows oder Linux verwenden.

Verwenden Sie die dotnet-CLI, um ein ASP.NET-Web-API-Projekt mit dem folgenden Befehl zu erstellen:

 dotnet neue webapi -o aspdockerapi 

Der obige Befehl erstellt ein Projekt namens aspdockerapi und legt es in einem Ordner mit demselben Namen ab. Darüber hinaus baut die Anwendung einen API-Controller mit einigen Beispielwettervorhersagedaten ein.

Hinweis: Wenn Sie .NET 5 nicht auf Ihrem PC installiert haben, können Sie es über den untenstehenden Link herunterladen.

Herunterladen: .NET 5 für Windows, macOS und Linux

Sobald das Projekt erstellt wurde, können Sie mit dem folgenden Befehl in den Stammordner des Projekts wechseln.

cd aspdockerapi

Sie können die Web-API mit dem folgenden Befehl ausführen und bereitstellen.

 dotnet laufen 

Standardmäßig wird die Anwendung auf Port 5001 bereitgestellt. Sie können die Beispieldaten der Anwendung in Ihrem Browser unter der folgenden URL anzeigen: https://localhost: 5001/Wettervorhersage und die APIs-Daten sollten wie folgt aussehen.

Erfahren Sie mehr: Was ist eine API?

Anleitung zum Erstellen von Docker-Images

Um ein Docker-Image zu erstellen, müssen Sie der Docker-Engine einige Anweisungen zum Erstellen geben. Diese Anweisungen sollten in einer Datei namens abgelegt werden Dockerfile. Beachten Sie, dass die Datei keine Erweiterung hat.

Verwenden Sie den folgenden Befehl, um die zu erstellen Dockerfile im Stammordner Ihres Anwendungsprojekts.

Tippen Sie auf Dockerfile

Nach dem Erstellen der Dockerfile, sollte Ihre Projektordnerstruktur der folgenden ähneln:

Kopieren Sie nun den folgenden Code und fügen Sie ihn in Ihr Dockerfile.

VON mcr.microsoft.com/dotnet/aspnet: 5.0-fokale AS-Basis
ARBEITSVERZEICHNIS /app
AUSSETZEN 80
VON mcr.microsoft.com/dotnet/sdk: 5.0-fokussierter AS-Build
ARBEITSVERZEICHNIS /src
KOPIEREN ["aspdockerapi.csproj", "./"]
RUN dotnet restore "./aspdockerapi.csproj"
KOPIEREN. .
ARBEITSVERZEICHNIS "/src/."
RUN dotnet build "aspdockerapi.csproj" -c Release -o /app/build
FROM build AS veröffentlichen
RUN dotnet publish "aspdockerapi.csproj" -c Release -o /app/publish
AB Basis AS Finale
ARBEITSVERZEICHNIS /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "aspdockerapi.dll"]

Hinweis: In der Dockerfile oben sind die Projekt- und DLL-Namen aspdockerapi.csproj und aspdockerapi.dll Wenn Ihr Projekt einen anderen Namen hat, stellen Sie sicher, dass Sie Ihre Dockerfile mit den richtigen Namen aktualisieren.

Die Dockerfile-Anweisungen verstehen

Das Dockerfile besteht hauptsächlich aus Dockerfile-Schlüsselwörtern, die laut Konvention Großbuchstaben sind. Die Schlüsselwörter geben die Anweisung an, die in jeder Schicht des Docker-Images ausgeführt werden soll. Im Folgenden sind die wichtigsten Docker-Schlüsselwörter aufgeführt, die das obige Dockerfile verwendet.

1. VON

Das VON Das Schlüsselwort gibt das Basis-Image an, auf dem unser Image aufgebaut werden soll. Im obigen Dockerfile ist das anfängliche Basis-Image ein .NET 5-Image von Microsoft. Das .NET 5-Basisimage enthält die erforderlichen Komponenten zum Ausführen der Anwendung.

2. ARBEITSVERZEICHNIS

ARBEITSVERZEICHNIS legt das Arbeitsverzeichnis oder den Kontext innerhalb des Bildes fest. In diesem Beispiel ist die /app Verzeichnis wird mit der folgenden Anweisung als Standard-Root-Arbeitsverzeichnis zugewiesen ARBEITSVERZEICHNIS /app.

3. KOPIEREN

Das KOPIEREN Schlüsselwort kopiert einfach den Inhalt aus einem Ordner und platziert ihn in einem anderen. In diesem Beispiel wird es zunächst verwendet, um die Hauptprojektdatei zu kopieren, d. aspdockerapi.csproj in das Bilder-Arbeitsverzeichnis.

4. LAUF

Das LAUF -Schlüsselwort wird verwendet, um einen bestimmten Linux-Befehl in einem Docker-Image auszuführen. In dem Dockerfile über LAUF -Befehl wird verwendet, um Abhängigkeiten wiederherzustellen, das ASP.NET-Projekt zu erstellen und das Projekt zu veröffentlichen.

5. CMD

Das CMD Schlüsselwort ist ein bisschen ähnlich zu dem LAUF oben diskutiertes Stichwort. Es wird auch zum Ausführen eines Linux-Befehls verwendet, aber im Gegensatz zum LAUF Schlüsselwort, das Befehle zum Erstellen des Bildes ausführt, das CMD -Schlüsselwort wird verwendet, um Linux-Befehle auszuführen, wenn das Image in einer Containerinstanz gestartet wird.

6.EXPOSITION

Das ENTLARVEN -Schlüsselwort wird verwendet, um einen Port innerhalb des Docker-Images für die Außenwelt bereitzustellen. In diesem Fall macht das Image Port 80 verfügbar, der zum Offenlegen der API beim Ausführen des Docker-Containers verwendet wird.

Erstellen des Docker-Images

So erstellen Sie das Docker-Image basierend auf dem Docker-Datei, Führen Sie einfach den folgenden Befehl im Stammordner des Projekts aus, dh dort, wo die Dockerfile ist plaziert.

docker build -t dockerwebapi -f Dockerfile .

Der obige Befehl markiert das Docker-Image mit dem Namen dockerwebapi und gibt auch an, dass die Anweisungen zum Erstellen dieses Bildes in der Dockerfile.

Nachdem das Image fertig erstellt wurde, können Sie mit dem folgenden Befehl überprüfen, ob es als lokales Docker-Image aufgeführt ist:

Docker-Bilder

Die Ausgabe des obigen Befehls sollte der folgenden ähnlich sein, und das Bild (dockerwebapi) erscheint in diesem Fall in der ersten Zeile.

Wenn Docker nicht auf Ihrem PC installiert ist, So installieren Sie Docker unter Ubuntu Linux, andernfalls verwenden Sie den unten stehenden Link, um Docker herunterzuladen und zu installieren.

Herunterladen: Docker Download- und Installationsanleitung

Ausführen des Docker-Images

Verwenden Sie den folgenden Befehl, um das neu erstellte Docker-Image auszuführen. Das -ti Option gibt an, dass das Image in einem interaktiven Terminalmodus ausgeführt werden soll, und --rm gibt an, dass der Container sofort nach dem Verlassen entfernt werden soll.

docker run -ti --rm -p 8080:80 dockerwebapi

Außerdem gibt der Befehl an, dass der Docker-Container auf dem HTTP-Port 8080 ausgeführt werden soll, der Port 80 im Contianer zugeordnet ist.

Gehen Sie zur URL: http://localhost: 8080/Wettervorhersage in Ihrem Browser und Sie werden feststellen, dass Ihre API-Daten von der Docker-Instanz bereitgestellt werden, die Sie ausführen.

Warum Docker verwenden?

In dieser Anleitung wurde gezeigt, wie Sie ein Docker-Image einer .NET 5-Web-API erstellen.

Mit Docker können Sie die Bereitstellung Ihrer Anwendungen automatisieren, die Einrichtung von Softwareentwicklungsumgebungen vereinfachen und die Zusammenarbeit mit anderen Softwareentwicklern vereinfachen.

Docker bietet auch einige Vorteile gegenüber anderen Virtualisierungstechnologien, weshalb Sie es wahrscheinlich in Ihren Software-Engineering-Projekten verwenden sollten.

Email
6 Gründe für die Verwendung von Docker-Virtualisierungssoftware

Docker bietet viele Vorteile gegenüber einer virtuellen Maschine. Hier sind die Gründe, es noch heute zu verwenden.

Weiter lesen

Verwandte Themen
  • Programmierung
  • Web Entwicklung
  • Docker
  • ASP.NET
Über den Autor
Mwiza Kumwenda (26 veröffentlichte Artikel)

Mwiza entwickelt von Beruf Software und schreibt ausgiebig über Linux und Frontend-Programmierung. Einige seiner Interessen umfassen Geschichte, Wirtschaft, Politik und Unternehmensarchitektur.

Mehr von Mwiza Kumwenda

Abonnieren Sie unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Noch ein Schritt…!

Bitte bestätigen Sie Ihre E-Mail-Adresse in der E-Mail, die wir Ihnen gerade gesendet haben.

.