Running IronPDF on Linux: Setup Guide

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

IronPdf pour Linux fait environ 280 Mo (incluant à la fois le code IronPdf et l'ensemble du navigateur Chrome). Les images Docker font environ 500 Mo.

Chrome nécessite également certains packages de base qui varient en fonction de votre distribution Linux. La plupart des distributions Linux ont déjà ces packages installés, car ils sont utilisés par diverses applications et bibliothèques sur Linux.

Cependant, si vous utilisez une distribution minimaliste, vous devrez installer les packages Linux nécessaires pour faire fonctionner Chrome sur Linux.

Remarque : Pour faciliter le débogage, vous pouvez définir ces éléments :

// Enable detailed debugging for IronPdf
IronPdf.Logging.Logger.EnableDebugging = true;

// Specify the log file path
IronPdf.Logging.Logger.LogFilePath = "Default.log";

// Set the logging mode to capture all log data
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
// Enable detailed debugging for IronPdf
IronPdf.Logging.Logger.EnableDebugging = true;

// Specify the log file path
IronPdf.Logging.Logger.LogFilePath = "Default.log";

// Set the logging mode to capture all log data
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
' Enable detailed debugging for IronPdf
IronPdf.Logging.Logger.EnableDebugging = True

' Specify the log file path
IronPdf.Logging.Logger.LogFilePath = "Default.log"

' Set the logging mode to capture all log data
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All
$vbLabelText   $csharpLabel

Comment créer une image Docker plus petite

1. Installer des packages à l'exécution

Un moyen de réduire la taille est d'exécuter les commandes apt-get à l'exécution, plutôt que lors de la création de l'image Docker :

  1. Supprimez les commandes apt-get de votre Dockerfile.
  2. Définissez Installation.LinuxAndDockerDependenciesAutoConfig = true; avant d'initialiser IronPdf ou de rendre un document.
  3. Assurez-vous que votre application est exécutée avec des permissions suffisantes pour exécuter des commandes apt-get.

Remarque : Votre première initialisation sera plus lente car les commandes apt-get doivent se terminer avant de rendre votre premier document, et ce processus se répétera chaque fois que vous devrez redéployer l'image.

Remarque : Vous devriez voir des entrées de console/log indiquant des installations de packages réussies :

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

2. Utilisez IronPdf.Slim

Vous pouvez également choisir d'inclure uniquement IronPdf.dll et de télécharger les fichiers nécessaires à l'exécution.

  1. Supprimez le package NuGet IronPdf.Linux (et tout autre IronPdf) de votre projet et ajoutez IronPdf.Slim.
  2. Définissez Installation.AutomaticallyDownloadNativeBinaries = true; avant d'initialiser IronPdf ou de rendre un document.
  3. Assurez-vous que votre Dockerfile accorde des permissions de lecture et d'écriture à l'ensemble du répertoire de travail de votre application (par exemple, changez RUN chmod +rwx /app/runtimes/linux-x64/native/IronCefSubprocess en RUN chmod +rwx /app/).

Remarque : Votre première initialisation sera plus lente car le package NuGet est téléchargé et extrait avant de rendre votre premier document, et ce processus se répétera chaque fois que vous devrez redéployer l'image.

Remarque : Vous devriez voir des entrées de console/log indiquant un téléchargement et une extraction réussis :

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'
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'
SHELL

3. Conclusion

En résumé, pour réduire la taille initiale du conteneur :

  • Utilisez le package NuGet IronPdf.Slim.
  • Configurez IronPdf :
// Set installation options for Linux and Docker environments
Installation.LinuxAndDockerDependenciesAutoConfig = true;
Installation.AutomaticallyDownloadNativeBinaries = true;
// Set installation options for Linux and Docker environments
Installation.LinuxAndDockerDependenciesAutoConfig = true;
Installation.AutomaticallyDownloadNativeBinaries = true;
' Set installation options for Linux and Docker environments
Installation.LinuxAndDockerDependenciesAutoConfig = True
Installation.AutomaticallyDownloadNativeBinaries = True
$vbLabelText   $csharpLabel
  • Assurez-vous que le répertoire d'application est inscriptible/exécutable :
RUN chmod +rwx /app/

Une image Docker très mince utilisant à la fois les points 1 et 2 devrait réduire la taille de ~500 Mo à ~200 Mo.

Si possible, vous verrez les meilleures performances si vous ne choisissez PAS un déploiement mince.

Certains environnements conteneurisés et cloud ne sont pas persistants et peuvent ainsi devoir occasionnellement retélécharger des dépendances ou exécuter à nouveau les commandes apt-get, prenant jusqu'à quelques minutes !

Cependant, nous comprenons que certains développeurs peuvent être soumis à des exigences strictes de taille pour leurs déploiements.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 16,154,058 | Version : 2025.11 vient de sortir