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 überIronPdfEngine.

Warum Docker auf Azure verwenden?

Neben der hervorragenden Skalierbarkeit für Unternehmen verfügten Docker-Container auf Azure über mehr Berechtigungen als normale 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 für Sie neu ist, empfehlen wir diesen hervorragenden Artikel übereinrichten von Docker-Debugging und Integration in Visual Studio-Projekte.

Wir empfehlen Ihnen auch die Lektüre unsererIronPDF Linux Einrichtungs- und Kompatibilitätshandbuch

Empfohlene Linux-Docker-Distributionen

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

  • Ubuntu 22
  • Ubuntu 20
  • Ubuntu 18
  • Debian 11
  • Debian 10 [Derzeit die Microsoft Azure Standard-Linux-Distro]
  • CentOS 8
  • Amazon AWS Linux 2Lesen Sie den IronPDF AWS Lambda Setup Guide

    Wir empfehlen die Verwendung von MicrosoftsOffizielle Docker-Bilder . Andere Linux-Distributionen werden zum Teil unterstützt, erfordern aber möglicherweise eine manuelle Konfiguration mit apt-get. Siehe unser "Linux Manuelle Einrichtung" Leitfaden

    Funktionierende Docker-Dateien für Ubuntu und Debian sind in diesem Dokument enthalten:

IronPDF Linux Docker Installation Essentials

Linux-optimierte NuGet-Pakete verwenden

Wir empfehlen die Verwendung desIronPDF.Linux NuGet-Paket anstelle des regulärenIronPDF Paket, 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.

Install-Package IronPdf.Linux

Eine andere Lösung besteht darin, einfach Folgendes hinzuzufügenIronPDF.Native.Chrome.Linux zusätzlich zu den regulärenIronPDF NuGet-Paket.

Install-Package IronPdf.Native.Chrome.Linux

Vermeiden Sie die automatische Installation von Abhängigkeiten

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

IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;

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 Ihnen dringend, dies für Docker-Bereitstellungen zu deaktivieren:

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

initialisierung "im Voraus"

Optional können Sie auch die Funktion `IronPDF.Installation.Initialize()methode, 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();

Ubuntu Linux DockerFiles

Ubuntu 22 mit .NET 8

Bitte ändern Sie den Benutzer von 'app' auf 'root'. Auf diese Weise wird sichergestellt, dass der Bibliothek ausreichende Berechtigungen erteilt werden. Mit dieser Änderung wird es nicht mehr notwendig sein, "rwx" für den IronCefSubprocess zu setzen.

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

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. Ehrlich 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. Dadurch können Projekte, die auf Alpine laufen, auf IronPDF-Funktionen zugreifen, indem sie sich mit dem 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 run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine

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

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 ermöglicht ein attraktiveres Text-Rendering innerhalb eines Docker-Containers(Windows oder Linux) auf Azure, weil der Zugriff auf die Grafikbibliothek und die virtuelle Grafikkarte besser ist.

Der ArtikelVisual Studio Container Tools für Docker' ist ein wirklich guter Leitfaden für den Einstieg.

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"]

Besuchen Sie dieDocker-Repository um weitere vorkonfigurierte Images für die Ausführung von IronPDF zu entdecken.