Hébergement de votre propre conteneur Docker IronPDF

This article was translated from English: Does it need improvement?
Translated
View the article in English
Ne fonctionne qu'avec IronPDF v.2023.2.x et supérieur

IronPdfEngine est un service gRPC qui peut gérer la création, l'écriture, l'édition 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

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 non concordantes.

Comment utiliser IronPDF Docker

Étape 1 - Installer IronPDF

Ajoutez le paquetage Nuget IronPdf.Slim à votre projet.

Installer IronPdf.Slim à partir de NuGet

Plus d'informations :Documentation IronPDF sur ironpdf.com

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.

Étape 2 - Déterminer la version du conteneur requise

Par défaut, la version d'IronPDF pour Docker correspondra à la version actuelle d'IronPDF sur NuGet.

Vous pouvez également 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#

Étape 3 - Configuration d'IronPDF pour le conteneur Docker

Étape 3.i - Sans Docker Compose

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

Par exemple pour IronPDF pour la version de Docker par exemple 2023.2.1 :


docker network create -d bridge --attachable --subnet=172.19.0.0/16 --gateway=172.19.0.1 ironpdf-network

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

Le port 33350 est le port interne par défaut d'IronPdfEngine

IronPDF pour Docker est maintenant opérationnel!

Étape 3.ii - Avec Docker Compose

Configurez votre fichier Docker Compose en utilisant le modèle suivant :

version: "3.3"

services:
  ironpdfengine:
    container_name: ironpdfengine
    image: ironsoftwareofficial/ironpdfengine:latest
    networks:
      ironpdf-network:
        ipv4_address: 172.19.0.2
  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:
        ipv4_address: 172.19.0.3
    depends_on:
      ironpdfengine:
        condition: service_started

networks:
  ironpdf-network:
    driver: bridge
    ipam:
      config:
        - subnet: 172.19.0.0/16
          gateway: 172.19.0.1
YAML

Ensuite, exécutez votre commande docker compose comme suit :

docker compose up --detach --force-recreate --remove-orphans --timestamps

Étape 4 - Configurer votre client IronPDF

Ajouter cette ligne :

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

var config = new IronPdfConnectionConfiguration();
config.ConnectionType = IronPdfConnectionType.Docker;
IronPdf.Installation.ConnectToIronPdfHost(config);
Imports IronPdf.GrpcLayer

Private config = New IronPdfConnectionConfiguration()
config.ConnectionType = IronPdfConnectionType.Docker
IronPdf.Installation.ConnectToIronPdfHost(config)
VB   C#

Étape 5 - Savourer

Exécutez votre code IronPDF, votre application parle maintenant à l'IronPdfEngine dans Docker!

Code de test du client

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

var config = new IronPdfConnectionConfiguration();
config.ConnectionType = IronPdfConnectionType.Docker;
IronPdf.Installation.ConnectToIronPdfHost(config);

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

Private config = New IronPdfConnectionConfiguration()
config.ConnectionType = IronPdfConnectionType.Docker
IronPdf.Installation.ConnectToIronPdfHost(config)

Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF Docker!<h1>")
pdf.SaveAs("ironpdf.pdf")
VB   C#