Ausführen von IronPDF unter Linux: Anleitung zur Einrichtung
IronPDF für Linux ist etwa 280 MB groß(einschließlich des IronPDF-Codes und des gesamten Chrome-Browsers). Docker-Images sind etwa 500 MB groß.
Chrome benötigt außerdem einige grundlegende Pakete, die je nach Linux-Distribution variieren. Die meisten Linux-Distributionen haben diese Pakete bereits installiert, da sie von verschiedenen Anwendungen und Bibliotheken unter Linux verwendet werden.
Wenn Sie jedoch eine Barebone-Distribution verwenden, müssen Sie die erforderlichen Linux-Pakete installieren, damit Chrome unter Linux läuft.
Hinweis: Um die Fehlersuche zu erleichtern, können Sie diese Einstellungen vornehmen:
IronPdf.Logging.Logger.EnableDebugging = true;
IronPdf.Logging.Logger.LogFilePath = "Default.log";
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
IronPdf.Logging.Logger.EnableDebugging = true;
IronPdf.Logging.Logger.LogFilePath = "Default.log";
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
IronPdf.Logging.Logger.EnableDebugging = True
IronPdf.Logging.Logger.LogFilePath = "Default.log"
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All
Wie man ein kleineres Docker-Image erstellt
1. Installieren von Paketen zur Laufzeit
Eine Möglichkeit, die Größe zu reduzieren, ist die Ausführung von "apt-get"-Befehlen zur Laufzeit und nicht beim Erstellen des Docker-Images:
Entfernen Sie
apt-get
-Befehle aus Ihrem DockerfileSetzen Sie
Installation.LinuxAndDockerDependenciesAutoConfig = true;
bevor Sie IronPDF initialisieren oder ein Dokument rendernStellen Sie sicher, dass Ihre Anwendung mit ausreichenden Rechten ausgeführt wird, um
apt-get
-Befehle auszuführenHinweis: Ihre erste Initialisierung wird langsamer sein, da die
apt-get
-Befehle beendet werden müssen, bevor das erste Dokument gerendert wird, und dieser Prozess wird jedes Mal wiederholt, wenn Sie das Bild erneut bereitstellen müssenHinweis: Sie sollten Konsolen-/Protokolleinträge sehen, die die erfolgreiche Installation von Paketen anzeigen:
Executing command 'apt install -y libnss3' in '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
libnspr4
The following NEW packages will be installed:
libnspr4 libnss3
0 upgraded, 2 newly installed, 0 to remove and 9 not upgraded.
2. IronPDF.Slim verwenden
Sie können sich auch dafür entscheiden, IronPDF.dll _nur _einzubeziehen und die erforderlichen Dateien zur Laufzeit herunterzuladen.
ironPDF.Linux entfernen(und jedes andere IronPDF) nuget-Paket(s) aus Ihrem Projekt, und fügen Sie IronPDF.Slim
setzen Sie
Installation.AutomaticallyDownloadNativeBinaries = true;
bevor Sie IronPDF initialisieren oder ein Dokument rendernStellen Sie sicher, dass Ihr Dockerfile Lese- und Schreibrechte für das gesamte Arbeitsverzeichnis Ihrer Anwendung gewährt(z.B. ändern Sie
RUN chmod +rwx /app/runtimes/linux-x64/native/IronCefSubprocess
inRUN chmod +rwx /app/
)Hinweis: Die erste Initialisierung wird langsamer sein, da das Nuget-Paket heruntergeladen und extrahiert wird, bevor das erste Dokument gerendert wird, und dieser Prozess wird jedes Mal wiederholt, wenn Sie das Image erneut bereitstellen müssen
Hinweis: Sie sollten Konsolen-/Protokolleinträge sehen, die einen erfolgreichen Download und eine erfolgreiche Extraktion anzeigen:
Downloading NuGet package from 'https://www.nuget.org/api/v2/package/IronPdf.Native.Chrome.Linux/2023.1.11387'
Extracting package contents '/app/bin/Debug/netcoreapp3.1/IronPdf.Native.Chrome.Linux.2023.1.11387.nupkg/runtimes/linux-x64/native' to '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Successfully deployed NuGet package 'IronPdf.Native.Chrome.Linux' to '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
Successfully located 'IronInterop' at '/app/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native'
3. Schlussfolgerung
Zusammenfassend lässt sich sagen, dass zur Verringerung der Anfangsgröße des Containers:
- Verwenden Sie das NuGet-Paket IronPdf.Slim
- IronPDF konfigurieren
Installation.LinuxAndDockerDependenciesAutoConfig = true;
Installation.AutomaticallyDownloadNativeBinaries = true;
Sicherstellen, dass das Anwendungsverzeichnis beschreibbar/ausführbar ist
rUN chmod +rwx /app/`
Ein sehr schlankes Docker-Image, das sowohl Punkt 1 als auch Punkt 2 nutzt, sollte die Größe von ~500MB auf ~200MB reduzieren.
Wenn möglich, erzielen Sie die beste Leistung, wenn Sie sich NICHT für einen schlanken Einsatz entscheiden.
Einige Container- und Cloud-Umgebungen sind nicht persistent und müssen daher möglicherweise gelegentlich Abhängigkeiten erneut herunterladen oder die
apt-get
-Befehle erneut ausführen, was bis zu einigen Minuten dauern kann!Wir haben jedoch Verständnis dafür, dass einige Entwickler strenge Größenanforderungen für ihre Implementierungen haben.