Starten der Anwendung aus FastReport .NET heraus in Docker für Linux

2021-11-17

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:

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

28. Oktober 2024

WSL 2 Anpassung an FastReport und FastCube

In diesem Artikel werden wir versuchen, gemeinsam herauszufinden, wie man WSL 2 konfiguriert, um mit FastReport und FastCube Komponenten in Lazarus für Linux zu arbeiten.
4. Oktober 2023

Erstellen einer Bericht aus einer ASP.NET Core Anwendung mit FastReport.Core.Skia

Wir erklären Ihnen, wie Sie mit FastReport einen Bericht unter Windows und Linux erstellen.Kern.Skia und ein privater NuGet-Server.
22. März 2023

Erstellen eines PDF-Berichts in JetBrains Rider (C#) unter Ubuntu 22.04.1 LTS

In diesem Artikel werfen wir einen Blick auf die Welt der .NET-Plattform in Ubuntu 22.04.1 LTS, und erstellen einen Bericht, der ins PDF-Format exportiert werden kann.
Fast Reports
  • 800-985-8986 (Englisch, die USA)
  • +4930568373928 (Deutsch)
  • +55 19 98147-8148 (Portugiesisch)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2024 Fast Reports Inc.