Exécution d'IronPdf sur Linux : Guide d'installation
IronPdf for Linux pèse environ 280 Mo (incluant à la fois le code de IronPdf et l'ensemble du navigateur Chrome). Les images Docker pèsent environ 500 Mo.
Chrome nécessite également quelques paquets de base qui varient en fonction de votre distribution Linux. Ces paquets sont déjà installés dans la plupart des distributions Linux, car ils sont utilisés par diverses applications et bibliothèques sous Linux.
Cependant, si vous utilisez une distribution "barebones", vous devrez installer les paquets Linux nécessaires pour faire fonctionner Chrome sur Linux.
Note : Pour faciliter le débogage, vous pouvez définir ces paramètres :
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
Comment créer une image Docker plus petite
1. Installation de paquets au moment de l'exécution
Une façon de réduire la taille est d'exécuter les commandes apt-get
à l'exécution, plutôt que lors de la construction de l'image Docker :
Supprimez les commandes
apt-get
de votre DockerfileDéfinissez
Installation.LinuxAndDockerDependenciesAutoConfig = true;
avant d'initialiser IronPdf ou de générer un documentAssurez-vous que votre application est exécutée avec des autorisations suffisantes pour exécuter les 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.Note : vous devriez voir des entrées de console/log indiquant que l'installation des paquets a réussi :
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. Utiliser IronPDF.Slim
Vous pouvez également choisir de n'inclure qu'IronPDF.dll et de télécharger les fichiers nécessaires au moment de l'exécution.
supprimez le(s) package(s) nuget IronPdf.Linux (et tout autre IronPdf) de votre projet, et ajoutez IronPdf.Slim
définir
Installation.AutomaticallyDownloadNativeBinaries = true;
avant d'initialiser IronPdf ou de rendre un documentAssurez-vous que votre dockerfile accorde des autorisations 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
enRUN chmod +rwx /app/
)Note : votre première initialisation sera plus lente car le paquet nuget se télécharge et est extrait avant de rendre votre premier document, et ce processus sera répété à chaque fois que vous devrez redéployer l'image
Note : vous devriez voir des entrées de console/log indiquant que le téléchargement et l'extraction ont réussi :
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. Conclusion
En résumé, pour réduire la taille initiale du conteneur, il faut
- Utilisez le package NuGet IronPdf.Slim
- Configurer IronPDF
Installation.LinuxAndDockerDependenciesAutoConfig = true;
Installation.AutomaticallyDownloadNativeBinaries = true;
S'assurer que le répertoire de l'application est accessible en écriture/exécutable
RUN chmod +rwx /app/
Une image Docker très fine utilisant les points 1 et 2 devrait réduire la taille de ~500MB à ~200MB.
Dans la mesure du possible, vous obtiendrez les meilleures performances si vous n'optez PAS pour un déploiement fin.
Certains environnements conteneurisés et cloud ne sont pas persistants et peuvent donc devoir occasionnellement re-télécharger des dépendances, ou exécuter à nouveau les commandes
apt-get
, ce qui peut prendre jusqu'à quelques minutes !Cependant, nous comprenons que certains développeurs puissent être soumis à des exigences strictes en matière de taille pour leurs déploiements.