Comment utiliser le moteur IronPDF dans Docker | IronPDF

Exécuter IronPDF en tant que conteneur distant

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

Le IronPdfEngine est un service autonome qui peut gérer la création, l'écriture, la modification et la lecture de PDF. IronPDF Docker est prêt à exécuter des services de docker avec des versions compatibles d'IronPDF (v2023.2.x et supérieures). Cela aidera les développeurs à éradiquer les problèmes de déploiement qu'ils peuvent rencontrer avec IronPDF.

Pourquoi l'exécution d'IronPDF en tant que son propre conteneur est une bonne idée

IronPDF nécessite à la fois les binaires Chrome et Pdfium pour fonctionner, qui sont énormes en taille de fichier (centaines de Mo). Il nécessite également plusieurs dépendances à installer sur la machine.

En utilisant cette méthode, votre client n'occupera qu'une fraction de la taille (en Mo).

Éviter les problèmes de déploiement

Il peut être difficile de configurer correctement l'environnement/conteneur pour inclure toutes les dépendances. Utiliser le conteneur Docker IronPDF signifie que IronPDF est pré-installé et garanti pour fonctionner, évitant ainsi tous les tracas de déploiement et de dépendance.

Versions

La balise IronPDF Docker est basée sur la version d'IronPdfEngine elle-même. Ce n'est pas la même version que le produit IronPDF.

Chaque version d'IronPDF aura sa propre version associée d'IronPdfEngine. Le numéro de version doit correspondre à la version IronPDF Docker.

Par exemple, la version IronPDF for Java 2023.2.1 nécessite la version IronPdfEngine 2023.2.1. Vous ne pouvez pas utiliser des versions IronPdfEngine et IronPDF non correspondantes.


Comment utiliser IronPDF Docker

Installer IronPDF

Ajoutez le paquet Nuget IronPdf.Slim à votre projet.

https://www.nuget.org/packages/IronPdf.Slim/

Remarque: les paquets IronPdf, IronPdf.Linux et IronPdf.MacOs contiennent tous IronPdf.Slim.

Pour réduire la taille de votre application, nous vous recommandons d'installer uniquement IronPdf.Slim. Le paquet IronPdf.Native.Chrome.xxx n'est plus utilisé, vous pouvez donc le supprimer de votre projet.

Déterminer la version requise du conteneur

Par défaut, la version d'IronPDF pour le Docker correspondra à la version actuelle d'IronPDF sur NuGet. Vous pouvez utiliser le code ci-dessous pour vérifier la version manuellement :

:path=/static-assets/pdf/content-code-examples/how-to/ironpdfengine-docker-version.cs
string ironPdfEngineVersion = IronPdf.Installation.IronPdfEngineVersion;
Dim ironPdfEngineVersion As String = IronPdf.Installation.IronPdfEngineVersion
$vbLabelText   $csharpLabel

Configurer IronPDF pour le conteneur Docker

Sans Docker Compose

Exécutez le conteneur docker en utilisant la version de l'étape précédente.

  • Docker doit être installé.

Setup

  1. Allez sur https://hub.docker.com/r/ironsoftwareofficial/ironpdfengine
  2. Téléchargez la dernière image ironsoftwareofficial/ironpdfengine
docker pull ironsoftwareofficial/ironpdfengine
docker pull ironsoftwareofficial/ironpdfengine
SHELL

Ou téléchargez la version spécifique (recommandé)

docker pull ironsoftwareofficial/ironpdfengine:2025.3.6
docker pull ironsoftwareofficial/ironpdfengine:2025.3.6
SHELL
  1. Exécutez le conteneur ironsoftwareofficial/ironpdfengine.

Cette commande créera un conteneur et l'exécutera en arrière-plan avec le port 33350

docker run -d -p 33350:33350 -e IRONPDF_ENGINE_LICENSE_KEY=MY_LICENSE_KEY ironsoftwareofficial/ironpdfengine:2025.3.6
docker run -d -p 33350:33350 -e IRONPDF_ENGINE_LICENSE_KEY=MY_LICENSE_KEY ironsoftwareofficial/ironpdfengine:2025.3.6
SHELL

Avec Docker Compose

L'essentiel est de configurer un réseau Docker qui permet à IronPdfEngine et à votre application de se voir mutuellement. Définissez 'depends_on' pour vous assurer qu'IronPdfEngine est opérationnel avant le démarrage de votre application.

Setup

  1. Commencez par créer un fichier docker-compose.yml. Configurez votre fichier Docker Compose en utilisant le modèle suivant:
version: '3.6'
services:
  myironpdfengine:
    container_name: ironpdfengine
    image: ironsoftwareofficial/ironpdfengine:latest
    ports:
      - '33350:33350'
    networks:
      - ironpdf-network
  myconsoleapp:
    container_name: myconsoleapp
    build:
      # enter YOUR project directory path here
      context: ./MyConsoleApp/
      # enter YOUR dockerfile name here, relative to project directory
      dockerfile: Dockerfile
    networks:
      - ironpdf-network
    depends_on:
      myironpdfengine:
        condition: service_started
networks:
  ironpdf-network: 
    driver: 'bridge'
  1. Définissez l'adresse d'IronPdfEngine dans votre application (myconsoleapp) à "myironpdfengine:33350"
  2. Exécutez docker compose
docker compose up --detach --force-recreate --remove-orphans --timestamps
docker compose up --detach --force-recreate --remove-orphans --timestamps
SHELL

Connecter à IronPdfEngine

Exécutez votre code IronPDF; votre application communique maintenant avec IronPdfEngine dans Docker!

:path=/static-assets/pdf/content-code-examples/how-to/ironpdfengine-docker-use.cs
using IronPdf;
using IronPdf.GrpcLayer;

// Configure for Docker container
var config = IronPdfConnectionConfiguration.Docker;
config.Host = "localhost";
IronPdf.Installation.ConnectToIronPdfHost(config);

// Use IronPDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF Docker!<h1>");
pdf.SaveAs("ironpdf.pdf");
Imports IronPdf
Imports IronPdf.GrpcLayer

' Configure for Docker container
Private config = IronPdfConnectionConfiguration.Docker
config.Host = "localhost"
IronPdf.Installation.ConnectToIronPdfHost(config)

' Use IronPDF
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF Docker!<h1>")
pdf.SaveAs("ironpdf.pdf")
$vbLabelText   $csharpLabel

Type de connexion

Il existe plusieurs IronPdfConnectionType que vous pouvez attribuer selon le type de connexion que vous souhaitez établir.

Voici une liste des propriétés disponibles :

LocalExcutable: Pour se connecter à un "serveur" IronPdfEngine exécutant un exécutable sur votre machine locale, nous utilisons cette option. Un exemple rapide serait une application de facturation WinForm qui génère localement des PDF sans dépendre des services cloud.

Docker: Cette option doit être utilisée lors de la tentative de connexion à un conteneur Docker, soit localement, soit dans le cloud.

RemoteServer: Cette option est utilisée pour IronPdfEngine dans le cloud. Cela se connecte à une instance IronPdfEngine hébergée dans le cloud (par exemple, Docker) via le protocole HTTP ou HTTPS. Notez que, comme cette connexion se fait avec un serveur distant, l'URL complète est requise (y compris le protocole HTTP ou HTTPS).

Custom: Pour un contrôle total et une personnalisation de la connexion, vous pouvez utiliser cette option. Cette option utilise votre Grpc.Core.ChannelBase personnalisé défini plutôt que les autres options définies ci-dessus. Les développeurs peuvent créer un nouveau canal soit en créant un objet Grpc.Core.Channel ou en utilisant Grpc.Net.Client.GrpcChannel.ForAddress(System.String) pour un contrôle complet personnalisé sur le canal gRPC.

.NET Framework avec NetFrameworkChannel

Pour .NET Framework, nous nécessitons une configuration différente car gRPC fonctionne différemment dans les projets .NET Framework. Pour que cette méthode fonctionne, veuillez vous assurer que le paquet NuGet Grpc.Core est installé. Nous utiliserons un canal gRPC personnalisé dérivé de Grpc.Core.ChannelBase pour cette configuration spécifique.

Examinons cet exemple, où nous mettrons en œuvre le canal de connexion pour créer et enregistrer un PDF à l'aide d'IronPDFEngine.

ConseilsDans la mesure où gRPC fonctionne différemment dans un projet .NET Framework, si le code suivant ne fonctionne pas, essayez de supprimer le préfixe <http> ou <https> dans l'adresse.

AvertissementNotez que ce pdf.Dispose est nécessaire dans ce cas.

:path=/static-assets/pdf/content-code-examples/how-to/ironpdfengine-docker-use-grpc.cs
using IronPdf;

// This code demonstrates how to use IronPdf with gRPC in a .NET Framework application.

// 1. Configure connection to use local IronPdfEngine executable
var config = IronPdf.GrpcLayer.IronPdfConnectionConfiguration.Executable;

// 2. Connect to the IronPDF host with the executable configuration
IronPdf.Installation.ConnectToIronPdfHost(config);

// 3. Create a PDF renderer instance
ChromePdfRenderer renderer = new ChromePdfRenderer();

// 4. Render HTML string as PDF document
PdfDocument pdf = renderer.RenderHtmlAsPdf("Hello world");

// 5. Save the PDF to disk
pdf.SaveAs("output.pdf");

// 6. Clean up , this is needed to work
pdf.Dispose();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Méthode alternative avec WithCustomChannel

Une méthode alternative serait d'utiliser la méthode WithCustomChannel fournie par IronPdf.GrpcLayer.

Le WithCustomChannel prend deux paramètres, le customChannel, qui est votre canal gRPC personnalisé, et metadata. Le paramètre metadata est facultatif et est défini par défaut sur null.

:path=/static-assets/pdf/content-code-examples/how-to/ironpdfengine-docker-use-grpc-alt.cs
using IronPdf;
using IronPdf.GrpcLayer;
using Grpc.Core;

// 1. Create custom gRPC channel (.NET Framework style)
var channel = new Channel("123.456.7.8:80", ChannelCredentials.SecureSsl);

// 2. (Optional) Add metadata headers if needed
var metadata = new Metadata
{
    { "Authorization", "Bearer your_token_here" }
};

// 3. Configure IronPDF with custom channel
var config = IronPdfConnectionConfiguration.WithCustomChannel(channel, metadata);
IronPdf.Installation.ConnectToIronPdfHost(config);

// 4. Generate PDF
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("Hello world");

// 5. Save the PDF to disk
pdf.SaveAs("output.pdf");

// 6. Clean up , this is needed to work
pdf.Dispose();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Déployer IronPdfEngine sur AWS ECS

Prérequis

Configuration

  1. Créez un cluster ECS. Suivez ce guide pour créer un cluster pour les types de lancement Fargate et Externe en utilisant la console.
  2. Créez une définition de tâche. Suivez ce guide pour créer une définition de tâche en utilisant la console.

Paramètres recommandés :

  • AWS Fargate
  • Un minimum de 1 vCPU avec 2 Go de RAM est recommandé. Selon votre charge de travail, si vous travaillez avec des PDF contenant plus de 10 pages ou si vous rencontrez des demandes de charge importantes, sélectionnez un niveau supérieur.
  • Mode réseau : awsvpc
  • Mappages de ports:
    {
      "containerPort": 33350,
      "hostPort": 33350,
      "protocol": "tcp",
      "appProtocol": "grpc"
    }
  • URI de l'image: pointez vers n'importe quel IronPdfEngine de chez nous. Par exemple, " ironsoftwareofficial/ironpdfengine:2024.1.20 " (de DockerHub)
  • Autorisation AWS et Réseautage sont à votre charge
  • Activer Amazon CloudWatch est recommandé. (Enable logging)
  • Ordre de démarrage des conteneurs est nécessaire si vous souhaitez déployer votre conteneur d'application dans la même définition de tâche.
  1. Exécutez une définition de tâche. Vous pouvez exécuter une définition de tâche en tant que Tâche ou Service. Suivez ce guide sur la création d'un service en utilisant la console.

Paramètres recommandés :

  • Type de lancement : AWS Fargate
  • IP publique : Activée pour les tests et Désactivée pour la production. La sécurité et le réseau AWS sont à votre charge.
  1. Profitez-en ! IronPdfEngine docker est opérationnel dans votre AWS !

Veuillez noterLa mise à l'échelle horizontale n'est pas prise en charge. Veuillez vous référer à la Limitation d'IronPdfEngine pour plus d'informations.


Déployer IronPdfEngine sur Azure Container Instances

Prérequis

Configuration

  1. Créez un conteneur Azure. Suivez ce guide de démarrage rapide sur le déploiement d'une instance de conteneur dans Azure à l'aide du portail Azure.

Paramètres recommandés :

  • Image : ironsoftwareofficial/ironpdfengine:2024.1.20 (de Docker Hub)
  • Type de système d'exploitation : Linux
  • OS type : Linux
  • Taille: Minimum de 1 vCPU et 2 GiB de mémoire, ou plus
    1. Profitez-en!

Le docker IronPdfEngine est opérationnel dans vos instances de conteneurs Azure! IronPdfEngine docker est en marche dans vos instances de conteneurs Azure !

Veuillez noterLa mise à l'échelle horizontale n'est pas prise en charge. Veuillez vous référer à la Limitation d'IronPdfEngine pour plus d'informations.


Prérequis

  1. Allez sur https://gallery.ecr.aws/v1m9w8y1/ironpdfengine
  • Docker doit être installé.

Configuration

  1. Allez sur https://gallery.ecr.aws/v1m9w8y1/ironpdfengine
  2. Récupérez l'image v1m9w8y1/ironpdfengine
docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine
docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine
SHELL

Ou téléchargez la version spécifique (recommandé)

docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine:2023.12.6
docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine:2023.12.6
SHELL
  1. Exécutez le conteneur ironpdfengine.

Cette commande créera un conteneur et l'exécutera en arrière-plan avec le port 33350

docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
SHELL

D\u00e9couvrez comment configurer le client IronPDF pour utiliser IronPdfEngine en naviguant vers la section "Mettre \u00e0 jour le code pour utiliser IronPdfEngine."


Obtenez IronPdfEngine sur le Marketplace<\/h2> Pour vous aider \u00e0 d\u00e9marrer rapidement, nous avons install\u00e9 IronPdfEngine \u00e0 la fois sur les march\u00e9s Azure et AWS. ### Marché Azure
Azure Marketplace
**Setup** 1. Allez sur [IronPDF Docker Container sur Azure Marketplace](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/ironsoftwarecoltd1682560478296.ironpdf-docker-container-v1?tab=Overview). Cliquez sur "Obtenez-le maintenant" et "Continuer". 3. Une fois le déploiement terminé, naviguez dans la barre latérale gauche et sélectionnez Ressources Kubernetes > Exécuter la commande.
![Service Kubernetes - exécuter la commande](/static-assets/pdf/how-to/pull-run-ironpdfengine/azure-market-run-command.webp) Exécutez la commande suivante : ```shell kubectl get services ```
Service Kubernetes - commande run
Avec les informations d'EXTERNAL-IP et de PORT(S), vous pouvez configurer la connexion IronPdfEngine en cons\u00e9quence. ```csharp :path=/static-assets/pdf/content-code-examples/how-to/pull-run-ironpdfengine-azure-marketplace.cs ```

Marketplace AWS<\/h3>
aws marketplace
**Prérequis** * Docker doit être installé. * AWS CLI doit être installé et connecté. **Setup** 1. Allez sur [IronPdfEngine sur le marketplace AWS](https://aws.amazon.com/marketplace/pp/prodview-t66wmni5ri7ve?sr=0-1&ref_=beagle&applicationId=AWSMPContessa). Cliquez sur 'Continuer à s'abonner.' 3. Acceptez les Conditions.
Accepter le CLUF
![L'abonnement complet](/static-assets/pdf/how-to/pull-run-ironpdfengine/subscribe-complete.webp)
S'abonner complètement
5. Récupérez l'image ironpdfengine.
![Lancer ce logiciel](/static-assets/pdf/how-to/pull-run-ironpdfengine/launch-this-software.webp)
Lancer ce logiciel
Par exemple : ```shell aws ecr get-login-password \ --region us-east-1 | docker login \ --username AWS \ --password-stdin 000000000000.dkr.ecr.us-east-1.amazonaws.com CONTAINER_IMAGES="000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15" for i in $(echo $CONTAINER_IMAGES | sed "s/,/ /g"); do docker pull $i; done ``` Cette commande créera un conteneur et l'exécutera en arrière-plan avec le port 33350. ## Vérification de l'état de santé pour IronPdfEngine ```shell docker run -d -p 33350:33350 000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15 ``` Vérifier l'état de santé de votre conteneur Docker est crucial pour garantir la fiabilité et la disponibilité dans un environnement de production. La possibilité de vérifier le conteneur Docker de IronPdfEngine permet aux développeurs de redémarrer le service s'il échoue, ainsi que de dimensionner les ressources si la demande augmente, tout en surveillant une application continue. La capacité de vérifier le conteneur Docker IronPdfEngine permet aux développeurs de redémarrer le service s'il échoue, ainsi que de faire évoluer les ressources si la demande augmente, tout en surveillant une application continue. Pour vérifier la santé de votre IronPdfEngine, nous pouvons envoyer une requête gRPC au même port IronPdfEngine (par défaut, il serait 33350) pour vérifier si nous recevons une réponse. ### Vérification de l'état avec gRPC IronPdfEngine respecte le mod\u00e8le de v\u00e9rification de sant\u00e9 gRPC standard, en utilisant la structure de protocole suivante. ```protobuf message HealthCheckRequest { string service = 1; // Name of the service to check (e.g., "IronPdfEngine") } ``` Voici un exemple utilisant JavaScript avec [Postman](https://www.postman.com) pour envoyer une requête gRPC au service local IronPdfEngine avec le nombre par défaut de 33350. Voici un exemple utilisant JavaScript avec [Postman](https://www.postman.com) pour envoyer une requête gRPC au service IronPdfEngine local avec le numéro par défaut de 33350.
Statut
Comme vous pouvez le voir dans la réponse, la réponse de statut est `SERVING`, indiquant que le service est opérationnel. Si le conteneur n'est pas sain, la réponse de statut serait `NOT_SERVING`. Pour les configurations Kubernetes, nous pouvons utiliser ce qui suit pour vérifier si le service est sain ou non. ``` yaml ```yaml livenessProbe: exec: command: - /bin/grpc_health_probe - -addr=:33350 - -rpc-timeout=5s ```

Questions Fréquemment Posées

Comment puis-je convertir HTML en PDF en C# en utilisant Docker?

Vous pouvez utiliser la configuration Docker d'IronPDF pour convertir HTML en PDF en C#. Déployez IronPdfEngine dans un conteneur Docker et utilisez des méthodes comme RenderHtmlAsPdf pour réaliser cela.

Quels sont les avantages d'utiliser IronPdfEngine dans Docker?

Utiliser IronPdfEngine dans Docker offre un environnement préinstallé et fiable, réduisant les problèmes de dépendances et garantissant que tous les composants nécessaires, comme Chrome et les binaires Pdfium, sont disponibles.

Comment configurer IronPdfEngine avec Docker Compose?

Créez un fichier docker-compose.yml et définissez les services et les réseaux. Assurez-vous qu'IronPdfEngine démarre avant votre application en utilisant la directive depends_on.

Quelles étapes sont nécessaires pour déployer IronPdfEngine sur AWS ECS?

Pour déployer sur AWS ECS, créez un cluster ECS, définissez une définition de tâche, et utilisez AWS Fargate pour les allocations de ressources. Ensuite, exécutez votre tâche ou service pour lancer IronPdfEngine.

Comment puis-je récupérer IronPdfEngine depuis la galerie publique AWS ECR?

Accédez à la galerie publique AWS ECR, trouvez l'image IronPdfEngine, et suivez les commandes fournies pour récupérer et exécuter le conteneur.

Est-il possible d'utiliser IronPdfEngine depuis Azure Marketplace?

Oui, IronPdfEngine est disponible sur Azure Marketplace. Vous pouvez suivre les instructions de configuration sur la page Marketplace pour déployer le conteneur Docker.

Quelles limitations dois-je connaître lors de l'utilisation d'IronPdfEngine?

IronPdfEngine ne supporte pas le scaling horizontal. Il est essentiel de considérer cette limitation lors de la planification de votre déploiement pour assurer qu'il réponde aux besoins de votre application.

Comment puis-je gérer efficacement les tâches de génération et manipulation de PDF avec Docker?

Déployez IronPdfEngine dans un conteneur Docker pour gérer efficacement les tâches de génération et manipulation de PDF, en exploitant les capacités de Docker pour gérer les dépendances et assurer un environnement cohérent.

Quelles sont les exigences pour déployer IronPdfEngine sur Azure Container Instances?

Pour déployer sur Azure Container Instances, assurez-vous d'avoir un compte Azure et récupérez l'image Docker IronPdfEngine pour le déploiement.

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 16,685,821 | Version : 2025.12 vient de sortir