Ajouter IronPDF à un conteneur Docker existant

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

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.

Docker V1 related to Ajouter IronPDF à un conteneur Docker existant
Azure 1 related to Ajouter IronPDF à un conteneur Docker existant
Linux V1 related to Ajouter IronPDF à un conteneur Docker existant
Amazon Web Services V1 related to Ajouter IronPDF à un conteneur Docker existant
Windows Logo V1 related to Ajouter IronPDF à un conteneur Docker existant

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.

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

Docker V1 related to Ubuntu Linux DockerFiles
Ubuntu V1 related to 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

Docker V1 related to Debian Linux DockerFiles
Debian V1 related to 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

Docker V1 related to IronPDF Conteneurs Docker pour Windows
Windows Logo V1 related to 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
Notez que ces conteneurs ne sont pas destinés à CONSTRUIRE des applications .NET, mais plutôt à les EXÉCUTER.

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.