Exécutez IronPDF en tant que conteneur distant

août 28, 2018
Mise à jour février 18, 2025
Partager:
This article was translated from English: Does it need improvement?
Translated
View the article in English

Le IronPdfEngine est un service autonome capable de gérer la création, la rédaction, la modification et la lecture de PDF. IronPDF Docker est prêt à exécuter des services 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 exécuter IronPDF comme son propre conteneur est une bonne idée

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

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

Éviter les problèmes de déploiement

Il peut être difficile de configurer l'environnement/le conteneur pour inclure correctement toutes les dépendances. En utilisant le conteneur Docker IronPDF, IronPDF est pré-installé et garanti de fonctionner, ce qui évite tous les maux de tête liés au déploiement et aux dépendances.

Versions

La balise Docker IronPDF est basée sur la version d'IronPdfEngine elle-même. Il ne s'agit pas de la même version que le produit IronPDF.

Chaque version d'IronPDF sera associée à une version d'IronPdfEngine. Le numéro de version doit correspondre à la version Docker d'IronPDF.

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 incompatibles.


Comment utiliser IronPDF Docker

Installer IronPDF

Ajoutez le paquetage Nuget IronPdf.Slim à votre projet.

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

Note : les packages 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 de conteneur requise

Par défaut, la version d'IronPDF pour 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

Configuration d'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é.

    Configuration

  1. Aller sur https://hub.docker.com/r/ironsoftwareofficial/ironpdfengine

  2. Extraire la dernière image ironsoftwareofficial/ironpdfengine
docker pull ironsoftwareofficial/ironpdfengine

Ou extraire la version spécifique (recommandé)

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

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

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

Avec Docker Compose

La clé est de mettre en place un réseau Docker qui permet à IronPdfEngine et à votre application de se voir. Définissez 'depends_on' pour vous assurer que IronPdfEngine est en place avant que votre application ne démarre.

Configuration

  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 de IronPdfEngine dans votre application (myconsoleapp) sur "myironpdfengine:33350".

  2. Exécuter docker compose
docker compose up --detach --force-recreate --remove-orphans --timestamps

Se connecter à IronPdfEngine

Exécutez votre code IronPDF, votre application communique désormais 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 = new IronPdfConnectionConfiguration();
config.ConnectionType = IronPdfConnectionType.Docker;
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 = New IronPdfConnectionConfiguration()
config.ConnectionType = IronPdfConnectionType.Docker
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

Déployer IronPdfEngine sur AWS ECS

Conditions préalables

Mise en place

  1. Créer un cluster ECS. Suivez ce guide sur la création d'un cluster pour les types de lancement Fargate et Externe en utilisant la console.

  2. Créer une définition de tâche. Suivez ce guide pour créer une définition de tâche à l'aide de la console.

    Paramètres recommandés :

    • AWS Fargate
    • Un minimum de 1 vCPU avec 2 GB de RAM est recommandé. En fonction de votre charge de travail, si vous travaillez avec des PDF contenant plus de 10 pages ou si vous avez des demandes de charge importantes, veuillez sélectionner 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 & Réseautage sont à votre charge
  • Activer Amazon CloudWatch est recommandé. (Activer la journalisation)
  • Ordre de démarrage du conteneur est nécessaire si vous souhaitez déployer votre conteneur d'application dans la même définition de tâche.
  1. Exécuter 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 le test et Désactivée pour la production. La sécurité et le réseau AWS sont à votre charge.
  2. Profitez! IronPdfEngine Docker est opérationnel dans votre AWS !

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


Déployer IronPdfEngine sur des instances de conteneurs Azure

Conditions préalables

Mise en place

  1. Créer 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 :

    • Source de l'image : Autre registre
    • Image : ironsoftwareofficial/ironpdfengine:2024.1.20 (depuis Docker Hub)
    • Type de système d'exploitation : Linux
    • Taille : Minimum de 1 vCPU et 2 Gio de mémoire, ou plus
    • Port : Port TCP 33350
  2. Profitez! Le conteneur IronPdfEngine fonctionne désormais dans vos Azure Container Instances !

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


Prérequis

  • Docker doit être installé.

Mise en place

  1. Aller sur https://gallery.ecr.aws/v1m9w8y1/ironpdfengine

  2. Tirer l'image v1m9w8y1/ironpdfengine
docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine

Ou extraire la version spécifique (recommandé)

docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine:2023.12.6
  1. Lancer le conteneur ironpdfengine.

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

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

Apprenez à configurer le client IronPdf pour utiliser IronPdfEngine en naviguant vers la section "Mettre à jour le code pour utiliser IronPdfEngine."


Obtenez IronPdfEngine sur le Marketplace

Pour vous aider à démarrer rapidement, nous avons mis en place IronPdfEngine sur les marketplaces Azure et AWS.

Place de marché Azure

Place de marché Azure

Configuration

  1. Allez sur IronPDF Docker Container sur Azure Marketplace. Cliquez sur "Obtenir maintenant" et "Continuer"

  2. Complétez les rubriques "Basics", "Cluster Details" et "Application Details" pour créer le service Kubernetes.

  3. Une fois le déploiement terminé, dans la barre latérale de gauche, allez dans Ressources Kubernetes -> Exécuter la commande. Exécutez la commande suivante :
kubectl get services
Service Kubernetes - commande'exécution

Avec les informations de EXTERNAL-IP et PORT(S), vous pouvez configurer la connexion IronPDFEngine en conséquence.

:path=/static-assets/pdf/content-code-examples/how-to/pull-run-ironpdfengine-azure-marketplace.cs
using IronPdf;
using IronPdf.GrpcLayer;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

IronPdfConnectionConfiguration configuration = new IronPdfConnectionConfiguration();
configuration.ConnectionType = IronPdfConnectionType.RemoteServer;
configuration.Host = "http://48.216.143.233";
configuration.Port = 80;
IronPdf.Installation.ConnectToIronPdfHost(configuration);

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
pdf.SaveAs("output.pdf");
Imports IronPdf
Imports IronPdf.GrpcLayer

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

Dim configuration As New IronPdfConnectionConfiguration()
configuration.ConnectionType = IronPdfConnectionType.RemoteServer
configuration.Host = "http://48.216.143.233"
configuration.Port = 80
IronPdf.Installation.ConnectToIronPdfHost(configuration)

Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

AWS Marketplace

place de marché aws

Prérequis

  • Docker doit être installé.
  • AWS CLI doit être installé et connecté.

    Configuration

  1. Accédez à IronPdfEngine sur AWS marketplace. Cliquez sur le bouton "Continuer à s'abonner"

  2. Accepter les conditions.

    Accepter le CLUF
  3. Continuer jusqu'à la Confiuguration.

    S'abonner complètement
  4. Tirer l'image d'ironpdfengine. Cette étape vous montrera une commande pour extraire l'image de ironpdfengine.

    Lancez ce logiciel

    For Example:

    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
  5. Exécutez le conteneur ironpdfengine. Cette commande crée un conteneur et l'exécute en arrière-plan sur le port 33350.
docker run -d -p 33350:33350 000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15