Ejecutar IronPDF como un Contenedor Remoto

28 de agosto, 2018
Actualizado 18 de febrero, 2025
Compartir:
This article was translated from English: Does it need improvement?
Translated
View the article in English

El IronPdfEngine es un servicio independiente que puede manejar la creación, escritura, edición y lectura de PDFs. IronPDF Docker está listo para ejecutar servicios de docker con versiones compatibles de IronPDF (v2023.2.x y superiores). Esto ayudará a los desarrolladores a erradicar los problemas de despliegue que puedan estar experimentando con IronPDF.

Por qué ejecutar IronPDF como su propio contenedor es una buena idea

IronPDF requiere tanto los binarios de Chrome como los de Pdfium para operar, los cuales son de gran tamaño de archivo (cientos de MBs). También requiere la instalación de varias dependencias en la máquina.

Al usar este método, su cliente solo 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 de IronPDF Docker.

Por ejemplo: Para la versión IronPDF for Java 2023.2.1 se requiere la versión de IronPdfEngine 2023.2.1. No puede usar versiones desajustadas de IronPdfEngine y IronPDF.


Cómo utilizar IronPDF Docker

Instalar IronPDF

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

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

Nota: los paquetes IronPdf, IronPdf.Linux y 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 puede eliminarlo de su proyecto.

Determinar la Versión Requerida del Contenedor

Por defecto, la versión de IronPDF para Docker coincidirá con la versión actual de IronPDF en NuGet. Puede utilizar el siguiente código para verificar 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
$vbLabelText   $csharpLabel

Configuración de IronPDF para contenedor de Docker

Sin Docker Compose

Ejecuta el contenedor de Docker utilizando la versión del paso anterior.

  • Docker debe estar instalado.

    Configuración

  1. Visite https://hub.docker.com/r/ironsoftwareofficial/ironpdfengine

  2. Extrae la última imagen de ironsoftwareofficial/ironpdfengine
docker pull ironsoftwareofficial/ironpdfengine

O extrae la versión específica (recomendado)

docker pull ironsoftwareofficial/ironpdfengine:2025.3.6
  1. Ejecute el contenedor ironsoftwareofficial/ironpdfengine.

    Este comando creará un contenedor y se ejecutará en segundo plano con el puerto 33350

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

Con Docker Compose

La clave es configurar una red Docker que permita que IronPdfEngine y tu aplicación se vean entre sí. Establece 'depends_on' para asegurarte de que IronPdfEngine está instalado antes de que se inicie tu aplicación.

Configuración

  1. Comience creando un archivo docker-compose.yml. Configure su archivo Docker Compose utilizando la siguiente plantilla:
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. Establezca la dirección de IronPdfEngine dentro de su aplicación (myconsoleapp) a "myironpdfengine:33350".

  2. Ejecutar docker compose
docker compose up --detach --force-recreate --remove-orphans --timestamps

Conéctate a IronPdfEngine

Ejecuta tu código de IronPDF, ¡tu aplicación ahora se comunica con el IronPdfEngine en 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

Implementar IronPdfEngine en AWS ECS

Requisitos previos

Configurar

  1. Crear un clúster ECS. Sigue esta guía sobre cómo crear un clúster para el tipo de lanzamiento Fargate y Externo usando la consola.

  2. Crear una definición de tarea. Siga esta guía para crear una definición de tarea utilizando la consola.

    Ajustes recomendados:

    • AWS Fargate
    • Se recomienda un mínimo de 1 vCPU con 2 GB de RAM. Dependiendo de su carga de trabajo, si trabaja con PDF de más de 10 páginas o experimenta solicitudes de carga pesada, seleccione un nivel superior.
    • Modo de red: awsvpc
    • Asignaciones de puertos:
    "containerPort": 33350,
    "hostPort": 33350,
    "protocol": "tcp",
    "appProtocol": "grpc"
  • URI de imagen: apunte a cualquier IronPdfEngine de nosotros. Por ejemplo, "ironsoftwareofficial/ironpdfengine:2024.1.20" (de DockerHub)
  • Permisos de AWS y redes son tu responsabilidad.
  • Habilitar Amazon CloudWatch es recomendable. (Habilitar registro)
  • El orden de inicio del contenedor es necesario si deseas desplegar tu contenedor de aplicación en la misma definición de tarea.
  1. Ejecutar una definición de tarea. Podrías ejecutar una definición de tarea como una Tarea o Servicio. Sigue esta guía sobre crear un servicio usando la consola.

    Ajustes recomendados:

    • Tipo de lanzamiento: AWS Fargate
    • IP Pública: Activada para prueba y Desactivada para producción. La seguridad y las redes de AWS corren por tu cuenta.
  2. ¡Disfruta! ¡El Docker de IronPdfEngine está en funcionamiento en tu AWS!

    [{i:(No se admite el escalado horizontal. Consulte la Limitación de IronPdfEngine para más información.


Implementar IronPdfEngine en instancias de contenedor Azure

Requisitos previos

Configurar

  1. Crear un contenedor Azure. Siga esta guía de inicio rápido sobre cómo implementar una instancia de contenedor en Azure usando el portal de Azure.

    Ajustes recomendados:

    • Fuente de la imagen: Otro registro
    • Imagen: ironsoftwareofficial/ironpdfengine:2024.1.20 (desde Docker Hub)
    • Tipo de OS: Linux
    • Tamaño: Mínimo de 1 vCPU y 2 GiB de memoria, o más
    • Puerto: Puerto TCP 33350
  2. ¡Disfruta! ¡IronPdfEngine docker está en funcionamiento en tus Azure Container Instances!

    [{i:(No se admite el escalado horizontal. Consulte la Limitación de IronPdfEngine para más información.


Obtención de IronPdfEngine en la galería pública de AWS ECR

Requisito previo

  • Docker debe estar instalado.

Configurar

  1. Visite https://gallery.ecr.aws/v1m9w8y1/ironpdfengine

  2. Extraer la imagen v1m9w8y1/ironpdfengine
docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine

O extrae la versión específica (recomendado)

docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine:2023.12.6
  1. Ejecuta el contenedor ironpdfengine.

    Este comando creará un contenedor y se ejecutará en segundo plano con el puerto 33350

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

Aprenda a configurar el cliente de IronPdf para utilizar IronPdfEngine navegando a la sección "Actualizar el código para usar IronPdfEngine".


Obtén IronPdfEngine del Marketplace.

Para ayudarte a comenzar rápidamente, hemos configurado IronPdfEngine tanto en los marketplaces de Azure como de AWS.

Mercado Azure

Azure Marketplace

Configuración

  1. Vaya a IronPDF Docker Container en Azure Marketplace. Haz clic en "Consíguelo ahora" y "Continuar"

  2. Complete los "Conceptos básicos", "Detalles del clúster" y "Detalles de la aplicación" para crear el servicio Kubernetes.

  3. Una vez completado el despliegue, en la barra lateral izquierda, vaya a Recursos de Kubernetes -> Ejecutar comando. Ejecute el siguiente comando:
kubectl get services
Servicio Kubernetes - comando de ejecución

Con la información de EXTERNAL-IP y PORT(S), puedes configurar la conexión de IronPDFEngine en consecuencia.

: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

mercado aws

Requisitos previos

  • Docker debe estar instalado.
  • AWS CLI debe estar instalado y conectado.

    Configuración

  1. Ve a IronPdfEngine en el mercado de AWS. Haga clic en "Continuar con la suscripción"

  2. Acepte las condiciones.

    Aceptar el CLUF
  3. Continuar con Confiuguración.

    Suscripción completada
  4. Tira de la imagen ironpdfengine. Este paso le mostrará un comando para extraer la imagen ironpdfengine.

    Iniciar este software

    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. Ejecute el contenedor ironpdfengine. Este comando creará un contenedor y lo ejecutará en segundo plano con el puerto 33350.
docker run -d -p 33350:33350 000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15