Exécutez 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 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 plus). 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 les binaires Chrome et Pdfium pour fonctionner, ce qui représente une taille de fichier considérable(des centaines de MB). Il nécessite également l'installation de plusieurs dépendances sur la machine.

Grâce à cette méthode, votre client n'occupera qu'une fraction de la taille de l'ordinateur(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 : Pour IronPDF for Java version 2023.2.1 nécessite IronPdfEngine version 2023.2.1. Vous ne pouvez pas utiliser des versions d'IronPdfEngine et d'IronPDF qui ne correspondent pas.


Comment utiliser IronPDF Docker

Installer IronPDF

Ajoutez le paquetage Nuget IronPdf.Slim à votre projet.

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

Note : 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 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
VB   C#

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 tirer la version spécifique(recommandé)

docker pull ironsoftwareofficial/ironpdfengine:2023.12.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 -e IRONPDF_ENGINE_LICENSE_KEY=MY_LICENSE_KEY --network=ironpdf-network --ip=172.19.0.2 --name=ironpdfengine --hostname=ironpdfengine -p 33350:33350 ironsoftwareofficial/ironpdfengine:2023.12.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 d'IronPdfEngine dans votre application(myconsoleapp) vers "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 parle maintenant à l'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")
VB   C#

Déployer IronPdfEngine sur AWS ECS

Conditions préalables

Mise en place

  1. Créer un cluster ECS. Suivez ce guide surcréation d'un cluster pour le type de lancement Fargate et External à l'aide de la console.

  2. Créer une définition de tâche. Suivez ce guide pourcré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"
  • Image URI : pointe vers n'importe quel IronPdfEngine de notre société. Par exemple, "ironsoftwareofficial/ironpdfengine:2024.1.20"(de DockerHub)
  • AWS Permission & Networking sont à votre charge
  • Il est recommandé d'activer Amazon CloudWatch. (Activer la journalisation)
  • L'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é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 surcréer un service à l'aide de 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.
  2. Appréciez! IronPdfEngine docker est en place et fonctionne dans votre AWS!

    [{i :(La mise à l'échelle horizontale n'est pas prise en charge. Veuillez vous référer à laLimitation de IronPdfEngine 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. À suivreguide de démarrage rapide pour 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(de Docker Hub)
    • type de système d'exploitation : Linux
    • Taille : Minimum de 1 vCPU et 2 GiB de mémoire, ou plus
    • Port : Port TCP 33350
  2. Appréciez! IronPdfEngine docker est opérationnel dans vos Instances de Conteneurs Azure!

    [{i :(La mise à l'échelle horizontale n'est pas prise en charge. Veuillez vous référer à laLimitation de IronPdfEngine 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 tirer 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. Aller àConteneur Docker IronPDF 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 d'exécution

Avec les informations 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")
VB   C#

AWS Marketplace

place de marché aws

Prérequis

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

    Configuration

  1. Aller àIronPdfEngine sur la place de marché AWS. 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.
    Lancer ce logiciel

    Par exemple :

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