Hinzufügen von IronPDF zu einem vorhandenen Docker-Container

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF for .NET-Standard unterstützt jetzt vollständig Docker, einschließlich Azure Docker Containers für Linux und Windows.

Möchten Sie IronPDF stattdessen in einem separaten Docker-Container bereitstellen? Erfahren Sie mehr über den IronPDF Engine-Tutorial-Guide.

Docker V1 related to Hinzufügen von IronPDF zu einem vorhandenen Docker-Container
Azure 1 related to Hinzufügen von IronPDF zu einem vorhandenen Docker-Container
Linux V1 related to Hinzufügen von IronPDF zu einem vorhandenen Docker-Container
Amazon Web Services V1 related to Hinzufügen von IronPDF zu einem vorhandenen Docker-Container
Windows Logo V1 related to Hinzufügen von IronPDF zu einem vorhandenen Docker-Container

Warum Docker auf Azure verwenden?

Neben ausgezeichneter Unternehmensskalierbarkeit genossen Docker-Container auf Azure mehr Berechtigungen als reguläre WebApps.

Dies ermöglicht das Rendern von SVG-Schriften, da der Systemzugriff auf GDI+-Grafiken aktiviert ist.

IronPDF und Linux-Fibel

Wenn Docker mit .NET neu für Sie ist, empfehlen wir diesen ausgezeichneten Artikel über die Einrichtung von Docker-Debugging und -Integration mit Visual Studio-Projekten.

Wir empfehlen Ihnen außerdem, unseren IronPDF Linux Setup and Compatibility Guide zu lesen.

Empfohlene Linux-Docker-Distributionen

Wir empfehlen die unten aufgeführten aktuellen 64-Bit-Linux-Betriebssysteme für die "einfache Konfiguration" von IronPDF.

IronPDF Linux Docker Installation Essentials

Linux-optimierte NuGet-Pakete verwenden

Wir empfehlen, das IronPdf.Linux-NuGet-Paket anstelle des regulären IronPdf-Pakets zu verwenden, um Speicherplatz zu sparen und zu vermeiden, dass beim Starten Ihrer Docker-Instanz Assets heruntergeladen werden. Keine Sorge, es funktioniert auch bei der Entwicklung unter Windows oder macOS - es ist nur für Linux optimiert.

:InstallCmd Install-Package IronPdf.Linux
:InstallCmd Install-Package IronPdf.Linux
SHELL

Eine weitere Lösung ist, einfach IronPdf.Native.Chrome.Linux zusätzlich zum regulären IronPdf NuGet-Paket hinzuzufügen.

:InstallCmd Install-Package IronPdf.Native.Chrome.Linux
:InstallCmd Install-Package IronPdf.Native.Chrome.Linux
SHELL

Vermeiden Sie die automatische Installation von Abhängigkeiten

Viele Benutzer berichten von besseren Ergebnissen mit Linux & Docker, wenn LinuxAndDockerDependenciesAutoConfig auf false gesetzt ist. Das liegt daran, dass die Voraussetzungen bereits von apt-get-Paketmanagern in Ihren Docker-Dateien installiert sind.

IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
SHELL

GPU-Beschleunigung deaktivieren

Linux-Docker-Container haben oft keinen Zugang zu einer GPU. Die GPU-Beschleunigung ist standardmäßig deaktiviert. Wenn Sie ChromeGpuModes.Enabled aktiviert haben, empfehlen wir dringend, es für Docker-Bereitstellungen zu deaktivieren:

IronPdf.Installation.ChromeGpuMode=IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.ChromeGpuMode=IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
SHELL

initialisierung "im Voraus"

Optional können Sie auch die Methode IronPdf.Installation.Initialize() aufrufen, um IronPDF manuell zu starten. Wenn eine Docker-Instanz IronPDF zum ersten Mal verwendet, kann es einige Zeit dauern, bis die Voraussetzungen heruntergeladen sind. Wir können dieses Szenario vermeiden, indem wir diesen Code aufrufen, wenn die Instanz erstellt wird:

IronPdf.Installation.Initialize();
IronPdf.Installation.Initialize();
SHELL

Ubuntu Linux DockerFiles

Docker V1 related to Ubuntu Linux DockerFiles
Ubuntu V1 related to Ubuntu Linux DockerFiles

Ubuntu 22 mit .NET 8

Ubuntu 22 mit .NET 7

Ubuntu 20 mit .NET 6

Ubuntu 20 mit .NET 5

Ubuntu 20 mit .NET 3.1 LTS

Ubuntu 18 mit .NET 3.1 LTS

Debian Linux DockerFiles

Docker V1 related to Debian Linux DockerFiles
Debian V1 related to Debian Linux DockerFiles

Debian 12 mit .NET 8

Debian 11 mit .NET 7

Debian 11 mit .NET 6

Debian 11 mit .NET 5

Debian 11 mit .NET 3.1 LTS

Debian 10 mit .NET 5

Debian 10 mit .NET 3.1 LTS

Alpine Linux DockerFiles

Der Betrieb von IronPDF auf Alpine Linux wird nicht unterstützt. Wir wünschten, wir könnten es, aber wir können es nicht. Offen gesagt, wir mögen Alpine und hoffen, dass dieses Projekt fortgesetzt wird und wächst. Ab 2023 verwendet Alpine immer noch veraltete "musl"-C-Sprachbibliotheken, die es Chromium-Entwicklern noch nicht erlauben, dieses Betriebssystem vollständig zu unterstützen.

Verwendung von Alpine Docker mit IronPdfEngine in .NET 6

IronPDF bietet ein Container-Image, das alle IronPdf-Funktionen enthält. Dies ermöglicht es Projekten, die auf Alpine laufen, auf IronPDF-Funktionen zuzugreifen, indem sie sich mit einem IronPdfEngine-Container verbinden.

Schritt 1: IronPDF-Engine-Docker-Image herunterladen und ausführen

Führen Sie die folgenden Befehle in Ihrem Terminal aus, um das IronPDF Engine Docker-Image zu laden und auszuführen:

docker pull ironsoftwareofficial/ironpdfengine
docker pull ironsoftwareofficial/ironpdfengine
SHELL
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
SHELL

Schritt 2: Konsolen-App einrichten

Erstellen Sie eine neue Konsolenanwendung für .NET 6.

Installieren Sie das NuGet-Paket IronPDF.Slim mit dem NuGet-Paketmanager.

IronPDF Windows-Docker-Behälter

Docker V1 related to IronPDF Windows-Docker-Behälter
Windows Logo V1 related to IronPDF Windows-Docker-Behälter

Windows Docker Containers werden auf Azure immer beliebter, da sie ein höheres Maß an Leistung und Skalierbarkeit bieten und Entwicklern mehr Rechte zur Konfiguration von Instanzen einräumen.

IronPDF wird tatsächlich eine attraktivere Textrendering innerhalb eines Docker-Containers (Windows oder Linux) auf Azure durchführen, da es einen höheren Zugriff auf die Grafikbibliothek und die virtuelle Grafikkarte hat.

Der Artikel 'Visual Studio Container Tools for Docker' ist ein wirklich großartiger Einstiegsguide.

Dies ist ein Beispiel für ein Windows-Container-Dockerfile für .NET Core 3.1

Windows Server 2019 .NET 6.0

Vorkonfigurierte Windows-Container, die alle für die Ausführung von IronPDF erforderlichen Abhängigkeiten enthalten.

Bitte beachten Sie
Beachten Sie, dass diese Container nicht zum ERSTELLEN von .NET-Anwendungen gedacht sind, sondern eher zum AUSFÜHREN derselben.

FROM mcr.microsoft.com/dotnet/sdk:6.0-windowsservercore-ltsc2019 AS build
WORKDIR /src
COPY ["nuget.config", "."]
COPY ["ConsoleApp/ConsoleApp.csproj", "ConsoleApp/"]
RUN dotnet restore "ConsoleApp/ConsoleApp.csproj"
COPY . .
WORKDIR "/src/ConsoleApp"
RUN dotnet build "ConsoleApp.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "ConsoleApp.csproj" -c Release -o /app/publish /p:UseAppHost=false

FROM ironsoftwareofficial/windows:2019-net60
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "ConsoleApp.dll"]
FROM mcr.microsoft.com/dotnet/sdk:6.0-windowsservercore-ltsc2019 AS build
WORKDIR /src
COPY ["nuget.config", "."]
COPY ["ConsoleApp/ConsoleApp.csproj", "ConsoleApp/"]
RUN dotnet restore "ConsoleApp/ConsoleApp.csproj"
COPY . .
WORKDIR "/src/ConsoleApp"
RUN dotnet build "ConsoleApp.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "ConsoleApp.csproj" -c Release -o /app/publish /p:UseAppHost=false

FROM ironsoftwareofficial/windows:2019-net60
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "ConsoleApp.dll"]
SHELL

Besuchen Sie das Docker-Repository von IronSoftware auf Docker Hub, um zusätzliche vorkonfigurierte Images für die Ausführung von IronPDF zu erkunden.

Chaknith Bin
Software-Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat tiefgehende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Erkenntnisse aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentation und einem insgesamt besseren Erlebnis bei.