# Exécution d'IronPDF sur Linux : Guide d'installation
IronPDF pour Linux est d'environ 280 Mo (incluant 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 :
```csharp
// 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;
```
## Comment créer une image Docker plus petite
### 1. Installer des packages à 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 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 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.
Remarque : Vous devriez voir des entrées de console/log indiquant des installations de packages réussies :
```shell
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. 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. Retirez le(s) package(s) 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 :
```shell
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_ :
- Utilisez le package NuGet IronPdf.Slim.
- Configurez IronPDF :
```csharp
// Set installation options for Linux and Docker environments
Installation.LinuxAndDockerDependenciesAutoConfig = true;
Installation.AutomaticallyDownloadNativeBinaries = true;
```
- Assurez-vous que le répertoire d'application est inscriptible/exécutable :
```dockerfile
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 donc devoir 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 peuvent être soumis à des exigences strictes de taille pour leurs déploiements.
IronPDF pour Linux est d'environ 280 Mo (incluant 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 IronPdfIronPdf.Logging.Logger.EnableDebugging = true;// Specify the log file pathIronPdf.Logging.Logger.LogFilePath = "Default.log";// Set the logging mode to capture all log dataIronPdf.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 IronPdfIronPdf.Logging.Logger.EnableDebugging = True' Specify the log file pathIronPdf.Logging.Logger.LogFilePath = "Default.log"' Set the logging mode to capture all log dataIronPdf.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
Comment créer une image Docker plus petite
1. Installer des packages à 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 création de l'image docker :
Supprimez les commandes apt-get de votre Dockerfile.
Définissez Installation.LinuxAndDockerDependenciesAutoConfig = true; avant d'initialiser IronPDF ou de rendre un document.
Assurez-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.
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: libnspr4The following NEW packages will be installed: libnspr4 libnss30 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.
Retirez le(s) package(s) NuGet IronPdf.Linux (et tout autre IronPDF) de votre projet et ajoutez IronPdf.Slim.
Définissez Installation.AutomaticallyDownloadNativeBinaries = true; avant d'initialiser IronPDF ou de rendre un document.
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 environmentsInstallation.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 environmentsInstallation.LinuxAndDockerDependenciesAutoConfig = TrueInstallation.AutomaticallyDownloadNativeBinaries = True
' Set installation options for Linux and Docker environments
Installation.LinuxAndDockerDependenciesAutoConfig = True
Installation.AutomaticallyDownloadNativeBinaries = True
Assurez-vous que le répertoire d'application est inscriptible/exécutable :
RUN chmod +rwx /app/
RUN chmod +rwx /app/
Text
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 donc devoir 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 peuvent être soumis à des exigences strictes de taille pour leurs déploiements.
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 et créer des manuels bien structurés et visuellement attrayants.