Aloje su propio contenedor Docker IronPDF

This article was translated from English: Does it need improvement?
Translated
View the article in English
Sólo funciona con IronPDF v.2023.2.x y superior

IronPdfEngine es un servicio gRPC que puede manejar la creación, escritura, edición y lectura de PDFs.

IronPDF Docker está preparado para ejecutar servicios Docker con versiones compatibles de IronPDF(v2023.2.x y superior). Esto ayudará a los desarrolladores a erradicar los problemas de despliegue que puedan estar experimentando con IronPDF.

Por qué

Para funcionar, IronPDF necesita los binarios Chrome y Pdfium, cuyo tamaño es enorme.(cientos de MB). También requiere la instalación de varias dependencias en la máquina.

Utilizando este método, su cliente sólo ocupará una fracción del tamaño(en MB).

Evitar problemas de implantación

Puede resultar difícil configurar el entorno/contenedor para incluir correctamente todas las dependencias. El uso del contenedor Docker IronPDF significa que IronPDF viene preinstalado y garantizado para funcionar, evitando todos los dolores de cabeza de despliegue y dependencia.

Versiones

La etiqueta IronPDF Docker se basa en la versión del propio IronPdfEngine. No es la misma versión que el producto IronPDF.

Cada versión IronPDF tendrá su propia versión IronPdfEngine asociada. El número de versión debe coincidir con la versión Docker de IronPDF.

Por ejemplo: Para IronPDF for Java versión 2023.2.1 se requiere IronPdfEngine versión 2023.2.1. No se pueden utilizar versiones de IronPdfEngine y IronPDF que no coincidan.

Cómo utilizar IronPDF Docker

Paso 1 - Instalar IronPDF

Añada el paquete Nuget IronPdf.Slim a su proyecto.

Instalar IronPdf.Slim desde NuGet

Más información:Documentación de IronPDF en ironpdf.com

Nota: Los paquetes IronPdf, IronPdf.Linux e IronPdf.MacOs contienen todos IronPdf.Slim..

Para reducir el tamaño de la aplicación, recomendamos instalar sólo IronPdf.Slim. El paquete IronPdf.Native.Chrome.xxx ya no se utiliza, por lo que puedes eliminarlo de tu proyecto.

Paso 2 - Determinar la versión de contenedor necesaria

Por defecto, la versión de IronPDF para Docker coincidirá con la versión actual de IronPDF en NuGet.

Además, puede confirmarlo comprobando la versión manualmente:

: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#

Paso 3 - Configuración de IronPDF para contenedores Docker

Paso 3.i - Sin Docker Compose

Ejecute el contenedor docker utilizando la versión del paso anterior

Por ejemplo para IronPDF para Docker versión por ejemplo 2023.2.1:


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

docker run -d -e IRONPDF_ENGINE_LICENSE_KEY=MY_LICENSE_KEY --network=red-ironpdf --ip=172.19.0.2 --name=ironpdfengine --hostname=ironpdfengine -p 33350:33350 ironsoftwareofficial/ironpdfengine:2023.2.1

El puerto 33350 es el puerto interno por defecto de IronPdfEngine

Ahora IronPDF para Docker está en funcionamiento!

Paso 3.ii - Con Docker Compose

Configure su archivo Docker Compose utilizando la siguiente plantilla:

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

Y luego ejecute su comando docker compose como el siguiente:

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

Paso 4 - Configure su cliente IronPDF

Añade esta línea:

: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#

Paso 5 - Disfrutar

Ejecute su código IronPDF, su aplicación ahora habla con el IronPdfEngine en Docker!

Código de prueba cliente

: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#