Docker ist eine Software-Plattform für eine schnelle Entwicklung, Prüfung und Bereitstellung von Anwendungen. Es ermöglicht uns, mehrere Container auf einem einzigen Server zu platzieren. Unter Container versteht man die Gesamtheit unserer Anwendung, ihrer Abhängigkeiten und des Images. Vergessen Sie nicht, dass ein Image eine Vorlage ist, die eine Art des Abbildes des Dateisystems ist. Wir haben im Gedächtnis einige Begriffen aufgefrischt. Jetzt können wir darüber sprechen, wie wir FastReport.Core + FastReport.Web in unserem eigenen Container hochschieben können.
Zunächst müssen wir Docker selbst auf einer beliebigen Linux-Distribution installieren, in unserem Fall ist das Ubuntu 20.04. In diesem Artikel erfahren Sie mehr über die Docker-Installation auf eine Linux. Nach der Installation und dem Testen können wir zum nächsten Schritt übergehen.
Nun müssen wir eine DockerFile-Datei erstellen. Das ist ein reines Textdokument, das alle Befehle zur Erstellung eines Images enthält. Sie können diese Datei entweder in einem normalen Texteditor oder in demselben VS-Code erstellen und bearbeiten. Übrigens, der VS-Code hat ein praktisches Docker-Plugin, das das Schreiben und Bearbeiten etwas erleichtert.
Beispiel einer DockerFile-Datei:
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base WORKDIR /app RUN ln -s /lib/x86_64-linux-gnu/libdl-2.24.so /lib/x86_64-linux-gnu/libdl.so RUN apt-get update \ && apt-get install -y --allow-unauthenticated \ libc6-dev \ libgdiplus \ libx11-dev \ && rm -rf /var/lib/apt/lists/* ENV DISPLAY :99 FROM microsoft/dotnet:2.1-sdk AS build WORKDIR /src COPY ["fastreport_net", "FastReport.Net"] RUN dotnet restore "FastReport.Net/Demos/Core/FastReport.Core.Web21.MVC/FastReport.Core.Web21.MVC.csproj" COPY . . WORKDIR "/src/FastReport.Net/Demos/Core/FastReport.Core.Web21.MVC" RUN dotnet build "FastReport.Core.Web21.MVC.csproj" -c Release -o /app FROM build AS publish RUN dotnet publish "FastReport.Core.Web21.MVC.csproj" -c Release -o /app FROM base AS final WORKDIR /app COPY --from=publish /app . ENTRYPOINT ["dotnet", "FastReport.Core.Web21.MVC.dll"]
Diese Docker-Datei stellt das Demo-Image der FastReport.Core.Web21.MVC Anwendung bereit, die FastReport.Web und FastReport.Core verwendet. Sie können es unter folgendem Link, selbst ausprobieren oder beim Herunterladen von FastReport.NET das Verzeichnis Demos\Core\FastReport.Core.Web21.MVC finden.
Sobald eine DockerFile-Datei geschrieben wurde, muss sie unbedingt aufgebaut werden. Das ist sehr einfach. Starten Sie ein Terminal in dem Verzeichnis, in dem sich die DockerFile-Datei befindet und schreiben Sie den Befehl ein:
sudo docker build
Nach dem erfolgreichen Aufbau muss der Container mit dem Befehl erweitert werden:
sudo docker run -d -p 8080:80 build/fastreport
In diesem Befehl nehmen wir das Forwarding des Port 8080 vor und nennen das Image "build/fastreport".
Nach dem erfolgreichen Starten des Containers öffnen Sie http://localhost:8080/. Dann gehen wir auf die Seite unserer Anwendung, wenn alle Abhängigkeiten erfüllt und gelöst sind, dann erscheint Ihr Projekt:
Fassen wir zusammen: Docker stellt buchstäblich mit zwei Befehlen bereit und die Container benötigen viel weniger Speicherplatz als Images virtueller Maschinen, was viel Speicherplatz und Zeit spart.