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, y compris les conteneurs Docker Azure pour Linux et Windows.

Souhaitez-vous plutôt déployer IronPDF en tant que conteneur Docker distinct ? En savoir plus sur le guide des tutoriels IronPdfEngine.

Logo Docker
Logo Azure
Logo Linux
Logo AWS
Logo Windows

Pourquoi utiliser Docker sur Azure ?

Outre une excellente évolutivité Enterprise, les conteneurs Docker sur Azure bénéficient de plus de permissions que les applications Web classiques. Cela permet le rendu des polices SVG, car l'accès système aux graphiques GDI+ est activé.

IronPDF et Linux Primer

Si vous découvrez Docker avec .NET, nous vous recommandons cet excellent article sur la configuration du débogage Docker et l'intégration avec les projets Visual Studio.

Nous vous recommandons également vivement de lire notre Guide d'installation et de compatibilité d'IronPDF pour 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.

Nous recommandons d'utiliser les images Docker officielles de Microsoft for .NET. D'autres distributions Linux sont partiellement prises en charge, mais peuvent nécessiter une configuration manuelle. Consultez notre guide " Configuration manuelle sous Linux ".

Installation d'IronPDF sur Linux avec Docker

Utilisez les paquets NuGet optimisés pour Linux

Nous recommandons d'utiliser le package NuGet IronPdf.Linux plutôt que le package IronPDF standard afin d'économiser de l'espace disque et d'éviter le téléchargement de ressources au démarrage de votre instance Docker. Ne vous inquiétez pas, cela fonctionne toujours lors du développement sous Windows ou macOS — c'est simplement optimisé pour Linux.

Install-Package IronPdf.Linux

Une autre solution consiste simplement à ajouter IronPdf.Native.Chrome.Linux au package NuGet IronPDF standard.

Install-Package IronPdf.Native.Chrome.Linux

Éviter l'installation automatique des dépendances

De nombreux utilisateurs signalent de meilleurs résultats avec Linux et Docker lorsque LinuxAndDockerDependenciesAutoConfig est défini sur false. En effet, les prérequis sont déjà installés par des gestionnaires de paquets de type apt-get dans vos fichiers Docker.

// Disable automatic configuration of Linux and Docker dependencies
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
// Disable automatic configuration of Linux and Docker dependencies
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
' Disable automatic configuration of Linux and Docker dependencies
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = False
$vbLabelText   $csharpLabel

Désactiver l'accélération GPU

Les conteneurs Docker sous Linux 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 :

// Disable GPU acceleration for Docker environments
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
// Disable GPU acceleration for Docker environments
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
' Disable GPU acceleration for Docker environments
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
$vbLabelText   $csharpLabel

Fichiers Docker pour Ubuntu Linux

Logo Docker
Logo Ubuntu

Ubuntu 24 avec .NET 10

Ubuntu 24.04 (Noble) utilise des paquets de transition time_t 64 bits, de sorte que certains noms de bibliothèques diffèrent des versions antérieures d'Ubuntu (par exemple, libasound2t64 au lieu de libasound2).

# Build stage
FROM mcr.microsoft.com/dotnet/sdk:10.0-noble AS build
WORKDIR /app
COPY *.csproj .
RUN dotnet restore
COPY . .
RUN dotnet publish -c Release -o /app/publish

# Runtime stage
FROM mcr.microsoft.com/dotnet/aspnet:10.0-noble AS runtime

# Install IronPDF dependencies for Ubuntu 24.04 Noble (64-bit transition libraries)
RUN apt-get update && apt-get install -y \
    libasound2t64 \
    libatk1.0-0t64 \
    libatk-bridge2.0-0t64 \
    libcairo2 \
    libcups2t64 \
    libdbus-1-3 \
    libdrm2 \
    libexpat1 \
    libfontconfig1 \
    libgbm1 \
    libglib2.0-0t64 \
    libgtk-3-0t64 \
    libnspr4 \
    libnss3 \
    libpango-1.0-0 \
    libpangocairo-1.0-0 \
    libx11-6 \
    libxcb1 \
    libxcomposite1 \
    libxdamage1 \
    libxext6 \
    libxfixes3 \
    libxkbcommon0 \
    libxrandr2 \
    fonts-liberation \
    wget \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "YourApp.dll"]

Ubuntu 24 avec .NET 8

.NET 8 LTS associé à Ubuntu 24.04 LTS est une combinaison courante en production. Les mêmes noms de bibliothèques de transition vers le 64 bits s'appliquent.

# Build stage
FROM mcr.microsoft.com/dotnet/sdk:8.0-noble AS build
WORKDIR /app
COPY *.csproj .
RUN dotnet restore
COPY . .
RUN dotnet publish -c Release -o /app/publish

# Runtime stage
FROM mcr.microsoft.com/dotnet/aspnet:8.0-noble AS runtime

# Install IronPDF dependencies for Ubuntu 24.04 Noble (64-bit transition libraries)
RUN apt-get update && apt-get install -y \
    libasound2t64 \
    libatk1.0-0t64 \
    libatk-bridge2.0-0t64 \
    libcairo2 \
    libcups2t64 \
    libdbus-1-3 \
    libdrm2 \
    libexpat1 \
    libfontconfig1 \
    libgbm1 \
    libglib2.0-0t64 \
    libgtk-3-0t64 \
    libnspr4 \
    libnss3 \
    libpango-1.0-0 \
    libpangocairo-1.0-0 \
    libx11-6 \
    libxcb1 \
    libxcomposite1 \
    libxdamage1 \
    libxext6 \
    libxfixes3 \
    libxkbcommon0 \
    libxrandr2 \
    fonts-liberation \
    wget \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "YourApp.dll"]

Ubuntu 22 avec .NET 8

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

Fichiers Docker Debian Linux

Logo Docker
Logo Debian

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

Fichiers Docker Alpine Linux

L'exécution d'IronPDF sur Alpine Linux n'est pas prise en charge. Nous aimerions bien, mais nous ne pouvons pas. Franchement, nous apprécions Alpine et espérons que ce projet se poursuivra et se développera. En 2023, Alpine utilise toujours des bibliothèques C " musl " obsolètes qui ne permettent pas encore aux développeurs Chromium de prendre pleinement en charge ce système d'exploitation.

Utilisation d'Alpine Docker avec IronPdfEngine dans .NET 6

IronPDF fournit une image de conteneur contenant toutes les fonctionnalités d'IronPDF. Cela permet aux projets s'exécutant sur Alpine d'accéder aux fonctionnalités d'IronPD en se connectant au conteneur IronPdfEngine.

Étape 1 : Récupérer et exécuter l'image Docker du moteur IronPDF

Exécutez les commandes suivantes dans votre terminal pour récupérer et exécuter l'image Docker du moteur IronPDF :

# Pull the IronPDF Engine Docker Image
docker pull ironsoftwareofficial/ironpdfengine
# Pull the IronPDF Engine Docker Image
docker pull ironsoftwareofficial/ironpdfengine
SHELL
# Run the IronPDF Engine Docker container
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
# Run the IronPDF Engine Docker container
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
SHELL

Étape 2 : Configurer 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.

Fichier Docker Windows

Logo Docker
Logo Windows

Les conteneurs Docker Windows sont de plus en plus populaires sur Azure, car ils offrent des niveaux de performance et d'évolutivité supérieurs et donnent aux développeurs davantage de libertés pour configurer les instances.

IronPDF offrira en effet un rendu de texte plus attrayant au sein d'un conteneur Docker (Windows ou Linux) sur Azure grâce à un accès plus étendu à la bibliothèque graphique et à la carte graphique virtuelle.

L'article " Visual Studio Container Tools for Docker " est un excellent guide de démarrage.

Voici un exemple de fichier Dockerfile pour un conteneur Windows avec .NET Core 3.1

Windows Server 2019 .NET 6.0

Les conteneurs Windows préconfigurés incluent toutes les dépendances nécessaires à l'exécution d'IronPDF.

Veuillez noterVeuillez noter que ces conteneurs ne sont pas destinés à la CRÉATION d'applications .NET, mais plutôt à leur EXÉCUTION.

Rendez-vous sur le référentiel Docker pour découvrir d'autres images préconfigurées permettant d'exécuter IronPDF.

Questions Fréquemment Posées

Comment puis-je intégrer une bibliothèque .NET pour la génération de PDF dans un conteneur Docker ?

Vous pouvez intégrer IronPDF, une bibliothèque .NET pour la génération de PDF, dans un conteneur Docker en utilisant les images Docker officielles de Microsoft et le package IronPdf.Linux NuGet pour Linux, ou des conteneurs Docker Windows pré-configurés pour les environnements Windows.

Quels sont les avantages d'utiliser des conteneurs Docker pour la manipulation de PDF sur Azure ?

L'utilisation de conteneurs Docker pour la manipulation de PDF sur Azure offre une évolutivité améliorée pour les entreprises et plus de permissions que les WebApps ordinaires. Cette configuration est idéale pour activer des fonctionnalités avancées telles que le rendu de polices SVG via l'accès aux graphiques GDI+.

Quelles distributions Linux sont les plus adaptées pour exécuter une bibliothèque PDF .NET dans Docker ?

Les distributions Linux les plus adaptées pour exécuter IronPDF dans Docker incluent Ubuntu 18/20/22, Debian 10/11, CentOS 8 et Amazon AWS Linux 2, car elles offrent une configuration et une compatibilité simples.

Comment puis-je optimiser les performances d'une bibliothèque PDF .NET dans des conteneurs Docker Linux ?

Pour optimiser les performances, utilisez le package IronPdf.Linux, désactivez l'installation automatique des dépendances et désactivez l'accélération GPU en configurant le IronPdf.Installation.ChromeGpuMode sur IronPdf.Engines.Chrome.ChromeGpuModes.Disabled.

IronPDF peut-il s'exécuter sur Alpine Linux dans un conteneur Docker ?

IronPDF ne prend pas en charge nativement Alpine Linux en raison des bibliothèques 'musl' incompatibles. Pour utiliser IronPDF sur Alpine Linux, envisagez de l'exécuter via un conteneur IronPDFEngine Docker.

Quel est le but d'utiliser des conteneurs Docker pré-configurés pour une bibliothèque .NET ?

Les conteneurs Docker pré-configurés fournissent toutes les dépendances nécessaires pour exécuter IronPDF efficacement, garantissant une haute performance et une évolutivité, particulièrement bénéfiques lors du déploiement sur des plateformes comme Azure.

Comment puis-je configurer une bibliothèque PDF .NET pour des applications .NET dans Docker ?

Vous pouvez configurer IronPDF pour des applications .NET dans Docker en l'intégrant à des conteneurs Docker Linux et Windows, permettant de robustes fonctionnalités PDF au sein d'une architecture de microservices.

Quelles sont les étapes d'installation recommandées pour déployer une bibliothèque .NET dans Docker ?

Les étapes recommandées incluent l'utilisation d'un package optimisé pour Linux comme IronPdf.Linux, la désactivation des installations automatiques de dépendances, et la pré-initialisation de IronPDF pour éviter les délais pendant l'exécution dans les environnements Docker.

Comment configurer une bibliothèque PDF .NET dans un conteneur Docker Windows Server 2019 exécutant .NET 6.0 ?

Configurez une bibliothèque PDF .NET dans un conteneur Docker Windows Server 2019 en utilisant un Dockerfile pré-configuré qui inclut toutes les dépendances et configurations nécessaires pour exécuter IronPDF avec .NET 6.0.

Pourquoi désactiver l'accélération GPU dans une configuration Docker pour une bibliothèque .NET ?

Désactiver l'accélération GPU pour IronPDF dans Docker peut conduire à un déploiement et à des performances plus fluides en évitant les problèmes potentiels liés aux graphiques dans des environnements où les ressources GPU sont limitées.

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 19,014,616 | Version : 2026.5 just released
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronPdf
exécuter un échantillon Regardez votre code HTML se transformer en PDF.