Ajouter IronPDF à un conteneur Docker existant
IronPDF for .NET Standard prend désormais entièrement en charge Docker, notamment les conteneurs Azure Docker pour Linux et Windows.
Souhaitez-vous plutôt déployer IronPDF en tant que conteneur Docker distinct ? En savoir plus surle guide des tutoriels du moteur IronPDF.
Pourquoi utiliser Docker sur Azure ?
Outre l'excellente évolutivité de l'entreprise, les conteneurs Docker sur Azure bénéficient de plus de permissions que les WebApps ordinaires.
Cela permet le rendu des polices SVG, car l'accès du système aux graphiques GDI+ est activé.
IronPDF et Linux Primer
Si Docker avec .NET est nouveau pour vous, nous vous recommandons cet excellent article sur mise en place du débogage Docker et de l'intégration avec les projets Visual Studio.
Nous vous recommandons également de lire notreGuide d'installation et de compatibilité d'IronPDF Linux
Distributions Linux Docker recommandées
Nous recommandons les derniers systèmes d'exploitation Linux 64 bits ci-dessous pour une "configuration facile" d'IronPDF.
- Ubuntu 22
- Ubuntu 20
- Ubuntu 18
- Debian 11
- Debian 10 [Actuellement, la distribution Linux par défaut de Microsoft Azure]
- CentOS 8
Amazon AWS Linux 2Lire le guide d'installation d'IronPDF sur AWS Lambda
Nous recommandons d'utiliser le logicielImages Docker officielles pour .NET . Les autres distributions Linux sont partiellement prises en charge, mais peuvent nécessiter une configuration manuelle à l'aide d'apt-get. Voir notre "Configuration manuelle de Linux"Guide de l'utilisateur
Des fichiers Docker fonctionnels pour Ubuntu et Debian sont inclus dans ce document :
IronPDF Linux Docker Installation Essentials (en anglais)
Utiliser des paquets NuGet optimisés pour Linux
Nous recommandons d'utiliser leIronPdf.Linux NuGet Package au lieu de l'habituelIronPDF Package pour économiser de l'espace disque et éviter que les actifs soient téléchargés lorsque vous démarrez votre instance Docker. Ne vous inquiétez pas, il fonctionne toujours lorsque vous développez sous Windows ou macOS - il est simplement optimisé pour Linux.
Install-Package IronPdf.Linux
Une autre solution consiste à ajouter simplementIronPdf.Native.Chrome.Linux en plus du travail régulierIronPDF Paquet NuGet.
Install-Package IronPdf.Native.Chrome.Linux
Éviter l'installation automatique de dépendances
De nombreux utilisateurs rapportent de meilleurs résultats avec Linux et Docker lorsque LinuxAndDockerDependenciesAutoConfig
est réglé sur false. En effet, les prérequis sont déjà installés par les gestionnaires de paquets de type apt-get dans vos fichiers Docker.
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
Désactiver l'accélération du GPU
Les conteneurs Linux Docker n'ont souvent pas accès à un GPU. L'accélération GPU est désactivée par défaut. Si vous avez activé ChromeGpuModes.Enabled, nous vous recommandons vivement de le désactiver pour les déploiements Docker :
IronPdf.Installation.ChromeGpuMode=IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
"Initialisation "anticipée
En option, vous pouvez également appeler la fonction IronPdf.Installation.Initialize()
méthode pour démarrer manuellement IronPDF. La toute première fois qu'une instance Docker utilise IronPDF, le téléchargement des prérequis peut prendre un certain temps. Nous pouvons éviter ce scénario en appelant ce code lors de la création de l'instance :
IronPdf.Installation.Initialize();
Ubuntu Linux DockerFiles
Ubuntu 22 avec .NET 8
Veuillez changer l'utilisateur de 'app' à 'root'. Cela permet de s'assurer que des autorisations suffisantes sont accordées à la bibliothèque. Avec cette modification, il ne sera pas nécessaire de définir 'rwx' pour le sous-processus IronCef.
Ubuntu 22 avec .NET 7
Ubuntu 20 avec .NET 6
Ubuntu 20 avec .NET 5
Ubuntu 20 avec .NET 3.1 LTS
Ubuntu 18 avec .NET 3.1 LTS
Debian Linux DockerFiles
Debian 12 avec .NET 8
Debian 11 avec .NET 7
Debian 11 avec .NET 6
Debian 11 avec .NET 5
Debian 11 avec .NET 3.1 LTS
Debian 10 avec .NET 5
Debian 10 avec .NET 3.1 LTS
Alpine Linux DockerFiles
L'exécution d'IronPDF sur Alpine Linux n'est pas prise en charge. Nous aimerions pouvoir le faire, mais nous ne le pouvons pas. Franchement, nous aimons Alpine et nous espérons que ce projet se poursuivra et se développera. En 2023, C# utilise encore des bibliothèques de langage C "musl" obsolètes qui ne permettent pas encore aux développeurs de Chromium de prendre pleinement en charge cet OS.
Utiliser Alpine Docker avec IronPdfEngine dans .NET 6
IronPdf fournit une image conteneur contenant toutes les fonctionnalités d'IronPdf. Cela permet aux projets fonctionnant sur IronPDF d'accéder aux fonctionnalités d'IronPdf en se connectant à un conteneur IronPdfEngine.
Étape 1 : Tirer et exécuter l'image Docker du moteur IronPDF
Exécutez les commandes suivantes dans votre terminal pour tirer et exécuter l'image Docker du moteur IronPDF :
docker pull ironsoftwareofficial/ironpdfengine
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
Étape 2 : Configuration de l'application Console
Créez une nouvelle application console ciblant .NET 6.
Installez le package NuGet IronPdf.Slim à l'aide du gestionnaire de packages NuGet.
IronPDF Conteneurs Docker pour Windows
Les conteneurs Windows Docker sont de plus en plus populaires sur Azure, car ils offrent des niveaux de performance et d'évolutivité plus élevés, et donnent aux développeurs plus de permissions pour configurer les instances.
IronPDF effectuera effectivement un rendu de texte plus attrayant au sein d'un conteneur Docker(Windows ou Linux) sur Azure en raison des niveaux d'accès plus élevés à la bibliothèque graphique et à la carte graphique virtuelle.
L'article 'Outils Visual Studio Container pour Dockerest un excellent guide de démarrage.
Voici un exemple de fichier Docker de conteneur Windows pour .NET Core 3.1
Windows Server 2019 .NET 6.0
Conteneurs Windows préconfigurés comprenant toutes les dépendances nécessaires à l'exécution d'IronPDF.
A noter
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"]
Visitez le siteDépôt Docker d'IronSoftware sur Docker Hub pour découvrir d'autres images préconfigurées pour l'exécution d'IronPDF.