# Ejecutar IronPDF como contenedor remoto
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 docker con versiones compatibles de IronPDF (v2023.2.x y superiores). Esto ayudará a los desarrolladores a erradicar problemas de implementación que puedan estar experimentando con IronPDF.
## Por qué es una buena idea ejecutar IronPDF como su propio contenedor
IronPDF requiere tanto los binarios de Chrome como de Pdfium para operar, los cuales son enormes en tamaño de archivo (cientos de MB). También requiere que se instalen varias dependencias en la máquina.
Al usar este método, su cliente solo ocupará una fracción del tamaño (en MB).
### Evite los problemas de implementación
Puede ser un desafío configurar el entorno/contenedor para incluir correctamente todas las dependencias. Usar el contenedor Docker de IronPDF significa que IronPDF viene _preinstalado_ y _garantizado_ para funcionar, evitando todos los dolores de cabeza de implementación y dependencia.
## Versiones
La etiqueta de IronPDF Docker se basa en la versión del propio IronPDFEngine. No es la misma versión que el producto IronPDF.
Cada versión de IronPDF tendrá su propia versión asociada de IronPDFEngine. El número de versión **debe** coincidir con la versión de IronPDF Docker.
Por ejemplo, `IronPDF for Java` versión `2023.2.1` requiere la versión `2023.2.1` de IronPdfEngine. Usted **no puede** usar versiones desajustadas de IronPDFEngine e IronPDF.
<hr />
## Cómo utilizar IronPDF Docker
### Instalar IronPDF
Añadir el paquete NuGet IronPdf.Slim a su proyecto.
[https://www.nuget.org/packages/IronPdf.Slim/](https://www.nuget.org/packages/IronPdf.Slim/)
**Nota: los paquetes `IronPdf`, `IronPdf.Linux` y `IronPdf.MacOs` contienen IronPdf.Slim.**
Para reducir el tamaño de su aplicación, recomendamos instalar solo IronPdf.Slim. El paquete `IronPdf.Native.Chrome.xxx` ya no se usa, por lo que puedes eliminarlo de tu 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 usar el siguiente código para verificar manualmente la versión:
```csharp
string ironPdfEngineVersion = IronPdf.Installation.IronPdfEngineVersion;
```
### Configuración de IronPDF para contenedores Docker
#### Sin Docker Compose
Ejecute el contenedor docker usando la versión del paso anterior.
* Docker debe estar instalado.
**Configuración**
1. Vaya a [https://hub.docker.com/r/ironsoftwareofficial/ironpdfengine](https://hub.docker.com/r/ironsoftwareofficial/ironpdfengine)
2. Extraiga la última imagen ironsoftwareofficial/ironpdfengine
```shell
docker pull ironsoftwareofficial/ironpdfengine
```
O extraiga la versión específica (recomendado)
```shell
docker pull ironsoftwareofficial/ironpdfengine:2025.3.6
```
3. Ejecute el contenedor ironsoftwareofficial/ironpdfengine.
Este comando creará un contenedor y lo ejecutará en segundo plano con el puerto 33350
```shell
docker run -d -p 33350:33350 -e IRONPDF_ENGINE_LICENSE_KEY=MY_LICENSE_KEY ironsoftwareofficial/ironpdfengine:2025.3.6
```
### ¿Cómo configuro los parámetros de tiempo de ejecución de IronPdfEngine?
Los parámetros de tiempo de ejecución se pueden pasar directamente al contenedor como pares `key=value` después del nombre de la imagen. Estas configuran el comportamiento del motor sin necesidad de recompilar la imagen.
```shell
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine:2025.3.6 \
license_key="YOUR_LICENSE_KEY" \
enable_debug=true \
chrome_browser_limit=8
```
Los siguientes parámetros están disponibles:
| Parámetro | Tipo | Default | Descripción|
|-----------|------|---------|-------------|
| `port` | int | `33350` | Puerto de escucha de gRPC |
| `license_key` | string | - | Clave de licencia de IronPDF |
| `enable_debug` | bool | `false` | Habilitar el registro de depuración completo |
| `log_path` | path | - | Ruta del archivo de registro (también habilita el registro de depuración completo) |
| `logging_mode` | string | `Console` | Modo de registro: Ninguno, Consola, Personalizado, Ventana de salida de depuración, Archivo, Todo |
| `chrome_browser_limit` | int | - | Número máximo de instancias simultáneas del navegador Chrome |
| `chrome_cache_path` | path | - | Directorio de la caché del navegador Chrome |
| `chrome_gpu_mode` | int | `0` | Modo GPU: 0 Desactivado, 1 Hardware, 2 HardwareFull, 3 Software |
| `chrome_custom_deployment_dir` | path | - | Directorio personalizado para los binarios de implementación de Chrome |
| `temp_folder_path` | path | - | Anular el directorio temporal |
| `skip_shutdown` | bool | `false` | Evitar que el motor se apague cuando está inactivo |
| `skip_initialization` | bool | `false` | Omitir la inicialización de Chrome/Pdfium al iniciar el sistema |
| `keep_alive` | bool | `false` | Mantener el motor en funcionamiento después de que el cliente se desconecte |
| `single_process` | bool | - | Ejecutar Chrome en modo de proceso único |
| `linux_and_docker_auto_config` | bool | `true` | Configuración automática de las dependencias de Linux/Docker (establecidas automáticamente por el punto de entrada de Docker) |
| `send_anonymous_analytics_and_crash_data` | bool | - | Habilitar o deshabilitar la telemetría anónima |
[[i:(El parámetro `linux_and_docker_auto_config` se establece automáticamente en true por el punto de entrada de Docker. No es necesario que lo revises manualmente. El `chrome_gpu_mode` debe permanecer en 0 (Desactivado) en Docker a menos que tu host proporcione paso de GPU.)]]
La variable de entorno `IRONPDF_ENGINE_LICENSE_KEY` también se puede usar para establecer la clave de licencia a través de `-e` o `environment:` en Docker Compose. Los parámetros de la línea de comandos tienen prioridad sobre las variables de entorno cuando ambos están configurados.
**Ejemplo de traducción:**
```shell
docker run -d --restart=unless-stopped \
-p 33350:33350 \
-e IRONPDF_ENGINE_LICENSE_KEY=MY_KEY \
ironsoftwareofficial/ironpdfengine \
chrome_browser_limit=8 skip_shutdown=true
```
**Ejemplo de depuración:**
```shell
docker run -p 33350:33350 \
ironsoftwareofficial/ironpdfengine \
enable_debug=true log_path=/app/logs/engine.log
```
#### Con Docker Compose
La clave es configurar una red Docker que permita a IronPDFEngine y su aplicación verse mutuamente. Establezca 'depends_on' para garantizar que IronPDFEngine esté activo antes de que su aplicación comience.
**Configuración**
1. Comienza creando un archivo `docker-compose.yml`. Configura tu archivo Docker Compose usando la siguiente plantilla:
```yml
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 (miaplicacionconsola) a "myironpdfengine:33350"
2. Ejecute docker compose
```shell
docker compose up --detach --force-recreate --remove-orphans --timestamps
```
### Conectarse a IronPDFEngine
Ejecute su código IronPDF; ¡su aplicación ahora se comunica con IronPDFEngine en Docker!
```csharp
using IronPdf;
using IronPdf.GrpcLayer;
// Configure for Docker container
var config = IronPdfConnectionConfiguration.Docker;
config.Host = "localhost";
IronPdf.Installation.ConnectToIronPdfHost(config);
// Use IronPDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF Docker!<h1>");
pdf.SaveAs("ironpdf.pdf");
```
<hr />
### Tipo de conexión
Hay varias `IronPdfConnectionType` que puedes asignar dependiendo del tipo de conexión que desees hacer.
Aquí hay una lista de propiedades disponibles:
**LocalExecutable**: Para conectarte a un "servidor" IronPdfEngine que ejecute un ejecutable en tu máquina local, usamos esta opción. Un ejemplo rápido sería una aplicación de facturación WinForm que genera PDFs localmente sin depender de servicios en la nube.
**Docker**: Esta opción debe usarse al intentar conectarse a un contenedor Docker localmente o en la nube.
**RemoteServer**: Esta opción se utiliza para IronPDFEngine en la nube. Esto se conecta a una instancia IronPDFEngine alojada en la nube (por ejemplo, Docker) a través del protocolo HTTP o HTTPS. Tenga en cuenta que, como esto se conecta a un servidor remoto, se requiere la URL completa (incluyendo el protocolo HTTP o HTTPS).
**Custom**: Para un control y personalización completos sobre la conexión, puede usar esta opción. Esta opción utiliza su **Grpc.Core.ChannelBase** definido por el usuario en lugar de las otras opciones definidas anteriormente. Los desarrolladores pueden crear un nuevo canal ya sea creando un nuevo objeto **Grpc.Core.Channel** o usando **`Grpc.Net.Client.GrpcChannel.ForAddress(System.String)`** para un control completo y personalizado sobre el canal gRPC.
#### .NET Framework con NetFrameworkChannel
Para .NET Framework, requerimos una configuración diferente porque gRPC funciona de manera diferente en proyectos .NET Framework.
Para que este método funcione, asegúrese de que el paquete NuGet [**Grpc.Core**](https://www.nuget.org/packages/grpc.core) esté instalado. Usaremos un canal gRPC personalizado derivado de **Grpc.Core.ChannelBase** para esta configuración específica.
Examinemos este ejemplo, donde implementaremos el canal de conexión para crear y guardar un PDF usando IronPDFEngine.
[[t:(Dado que gRPC funciona de manera diferente en el proyecto .NET Framework, si el siguiente código no funciona intenta eliminar el prefijo `<http>` o `<https>` en la dirección.)]]
[[w:(Ten en cuenta que este `pdf.Dispose` es necesario en este caso.)]]
```csharp
using IronPdf;
// This code demonstrates how to use IronPdf with gRPC in a .NET Framework application.
// 1. Configure connection to use local IronPdfEngine executable
var config = IronPdf.GrpcLayer.IronPdfConnectionConfiguration.Executable;
// 2. Connect to the IronPDF host with the executable configuration
IronPdf.Installation.ConnectToIronPdfHost(config);
// 3. Create a PDF renderer instance
ChromePdfRenderer renderer = new ChromePdfRenderer();
// 4. Render HTML string as PDF document
PdfDocument pdf = renderer.RenderHtmlAsPdf("Hello world");
// 5. Save the PDF to disk
pdf.SaveAs("output.pdf");
// 6. Clean up , this is needed to work
pdf.Dispose();
```
#### Método alternativo con WithCustomChannel
Un método alternativo sería utilizar el método `WithCustomChannel` proporcionado por el `IronPdf.GrpcLayer`.
El `WithCustomChannel` toma dos parámetros, el `customChannel`, que es tu canal gRPC personalizado, y `metadata`. El parámetro `metadata` es opcional y se establece en `null` por defecto.
```csharp
using IronPdf;
using IronPdf.GrpcLayer;
using Grpc.Core;
// 1. Create custom gRPC channel (.NET Framework style)
var channel = new Channel("123.456.7.8:80", ChannelCredentials.SecureSsl);
// 2. (Optional) Add metadata headers if needed
var metadata = new Metadata
{
{ "Authorization", "Bearer your_token_here" }
};
// 3. Configure IronPDF with custom channel
var config = IronPdfConnectionConfiguration.WithCustomChannel(channel, metadata);
IronPdf.Installation.ConnectToIronPdfHost(config);
// 4. Generate PDF
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("Hello world");
// 5. Save the PDF to disk
pdf.SaveAs("output.pdf");
// 6. Clean up , this is needed to work
pdf.Dispose();
```
<hr />
## Implementar IronPDFEngine en AWS ECS
### Prerrequisitos
* Extraiga la imagen Docker de IronPDFEngine. Esto está en la sección [Configurar IronPDF para Contenedor Docker](#anchor-setup-ironpdf-for-docker-container) arriba.
* Una cuenta AWS con acceso a ECS.
### Configuración
1. Cree un Cluster ECS. Sigue esta guía [para crear un clúster para los tipos de lanzamiento Fargate y Externo usando la consola](https://docs.aws.amazon.com/AmazonECS/latest/userguide/create-cluster-console-v2.html).
2. Cree una definición de tarea. Siga esta guía para [crear una definición de tarea usando la consola](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-task-definition.html).
Ajustes recomendados:
- **AWS Fargate**
- Se recomienda un mínimo de 1 vCPU con 2 GB de RAM. Dependiendo de su carga de trabajo, si está trabajando con PDFs que contienen más de 10 páginas o experimentando altas solicitudes de carga, seleccione un nivel superior.
- **Modo de red**: awsvpc
- **Mapeos de puertos**:
```json
{
"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 AWS** & **Red** son su responsabilidad
- **Habilitar Amazon CloudWatch** es recomendado. (Enable logging)
- **Orden de inicio del contenedor** es necesario si desea desplegar su contenedor de aplicación en la misma definición de tarea.
3. Ejecute una definición de tarea. Podría ejecutar una definición de tarea como **Tarea** o **Servicio**. Siga esta guía sobre [crear un servicio usando la consola](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-service-console-v2.html).
Ajustes recomendados:
* Tipo de lanzamiento: **AWS Fargate**
* IP pública: **Activada** para pruebas y **Desactivada** para producción. La seguridad y la red de AWS son su responsabilidad.
4. ¡Disfrute! ¡El docker de IronPDFEngine está en marcha en su AWS!
[[i:(El contenedor Docker de IronPdfEngine en sí no soporta el escalado horizontal; está diseñado como un servicio de backend de instancia única. Tu aplicación utilizando la biblioteca IronPDF (con o sin IronPdfEngine) aún puede escalar horizontalmente mediante el despliegue de múltiples instancias de la aplicación. Consulta la [Limitación de IronPdfEngine](/get-started/ironpdfengine/#anchor-ironpdfengine-limitation) para más detalles.)]]
<hr />
## Despliegue IronPDFEngine en instancias de contenedor Azure
### Prerrequisitos
* Extraiga la imagen Docker de IronPDFEngine. Esto está en la sección [Configurar IronPDF para Contenedor Docker](#anchor-setup-ironpdf-for-docker-container) arriba.
* Cuenta de Azure
### Configuración
1. Cree un Contenedor de Azure. Siga esta [guía rápida sobre el despliegue de una instancia de contenedor en Azure usando el portal de Azure](https://learn.microsoft.com/en-us/azure/container-instances/container-instances-quickstart-portal).
Ajustes recomendados:
- **Fuente de Imagen**: Otro registro
- **Imagen**: **ironsoftwareofficial/ironpdfengine:2024.1.20** (de Docker Hub)
- **Tipo de OS**: Linux
- **Tamaño**: Mínimo de 1 vCPU y 2 GiB de memoria, o superior
- **Puerto**: TCP Puerto 33350
2. ¡Disfrute! ¡El docker de IronPDFEngine está en marcha en sus Azure Container Instances!
[[i:(El contenedor Docker de IronPdfEngine no soporta el escalado horizontal; diseñado como un servicio de backend de instancia única. Tu aplicación utilizando la biblioteca IronPDF (con o sin IronPdfEngine) aún puede escalar horizontalmente mediante el despliegue de múltiples instancias de la aplicación. Consulta la [Limitación de IronPdfEngine](/get-started/ironpdfengine/#anchor-ironpdfengine-limitation) para más información.)]]
<hr />
## Conseguir IronPDFEngine en la galería pública de AWS ECR
### Requisitos
* Docker debe estar instalado.
### Configuración
1. Vaya a [https://gallery.ecr.aws/v1m9w8y1/ironpdfengine](https://gallery.ecr.aws/v1m9w8y1/ironpdfengine)
2. Extraiga la imagen v1m9w8y1/ironpdfengine
```shell
docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine
```
O extraiga la versión específica (recomendado)
```shell
docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine:2023.12.6
```
3. Ejecute el contenedor ironpdfengine.
Este comando creará un contenedor y lo ejecutará en segundo plano con el puerto 33350
```shell
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
```
Aprende cómo configurar el cliente de IronPDF para utilizar IronPdfEngine navegando a la sección "[Actualizar el código para usar IronPdfEngine](#anchor-update-the-code-to-use-ironpdfengine)."
<hr />
## Obtenga IronPDFEngine en el Mercado
Para ayudarle a comenzar rápidamente, hemos configurado IronPDFEngine en los Marketplace de Azure y AWS.
### Marketplace de Azure
<div class="content-img-align-center">
<div class="center-image-wrapper">
<a href="https://azuremarketplace.microsoft.com/en-us/marketplace/apps/ironsoftwarecoltd1682560478296.ironpdf-docker-container-v1?tab=Overview"><img src="/static-assets/pdf/how-to/pull-run-ironpdfengine/azure-marketplace.webp" alt="Mercado de Azure" class="img-responsive add-shadow" /></a>
</div>
</div>
**Configuración**
1. Vaya a [Contenedor Docker IronPDF en Mercado de Azure](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/ironsoftwarecoltd1682560478296.ironpdf-docker-container-v1?tab=Overview). Haga clic en "Obtenerlo ahora" y "Continuar."
2. Complete los "Básicos", "Detalles del Clúster", y "Detalles de la Aplicación" para crear el servicio de Kubernetes.
3. Una vez que el despliegue se ha completado, navegue a la barra lateral izquierda y seleccione recursos de Kubernetes> Ejecutar comando. Ejecuta el siguiente comando:
```shell
kubectl get services
```
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/pdf/how-to/pull-run-ironpdfengine/azure-market-run-command.webp" alt="Servicio Kubernetes - comando de ejecución" class="img-responsive add-shadow" />
</div>
</div>
Con la información de EXTERNAL-IP y PORT(S), puede configurar la conexión IronPDFEngine en consecuencia.
```csharp
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");
```
### Mercado de AWS
<div class="content-img-align-center">
<div class="center-image-wrapper">
<a href="https://aws.amazon.com/marketplace/pp/prodview-t66wmni5ri7ve?sr=0-1&ref_=beagle&applicationId=AWSMPContessa"><img src="/static-assets/pdf/how-to/pull-run-ironpdfengine/aws-marketplace.webp" alt="aws marketplace" class="img-responsive add-shadow" /></a>
</div>
</div>
**Requisitos previos**
* Docker debe estar instalado.
* AWS CLI debe estar instalado y registrado.
**Configuración**
1. Vaya a [IronPDFEngine en AWS marketplace](https://aws.amazon.com/marketplace/pp/prodview-t66wmni5ri7ve?sr=0-1&ref_=beagle&applicationId=AWSMPContessa). Haga clic en 'Continuar para Suscribirse.'
3. Acepte los Términos.
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/pdf/how-to/pull-run-ironpdfengine/accept-EULA.webp" alt="Aceptar CLUF" class="img-responsive add-shadow" />
</div>
</div>
4. Continúe con la Configuración.
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/pdf/how-to/pull-run-ironpdfengine/subscribe-complete.webp" alt="Suscripción completa" class="img-responsive add-shadow" />
</div>
</div>
5. Extraiga la imagen de ironpdfengine. Este paso le mostrará un comando para extraer la imagen de ironpdfengine.
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/pdf/how-to/pull-run-ironpdfengine/launch-this-software.webp" alt="Iniciar este software" class="img-responsive add-shadow" />
</div>
</div>
Por ejemplo:
```shell
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
```
6. Ejecute el contenedor ironpdfengine. Este comando creará un contenedor y lo ejecutará en segundo plano con el puerto 33350.
```shell
docker run -d -p 33350:33350 000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15
```
## Comprobación de la salud de IronPDFEngine
Verificar el estado de su Contenedor Docker es crucial para asegurar la fiabilidad y disponibilidad en un entorno de producción. La capacidad de verificar el contenedor Docker de IronPDFEngine permite a los desarrolladores reiniciar el servicio si falla, así como escalar los recursos si la demanda aumenta, junto con el monitoreo de una aplicación continua.
Para verificar el estado de su IronPDFEngine, podemos enviar una solicitud gRPC al mismo puerto de IronPDFEngine (por defecto, sería 33350) para verificar si obtenemos una respuesta.
### Comprobación de salud con gRPC
IronPDFEngine se adhiere al patrón estándar de control de salud gRPC, utilizando la siguiente estructura de protocolo.
```protobuf
message HealthCheckRequest {
string service = 1; // Name of the service to check (e.g., "IronPdfEngine")
}
```
Dado que estamos verificando IronPdfEngine, reemplazamos el nombre del servicio con `IronPdfEngine`.
Aquí hay un ejemplo usando JavaScript con [Postman](https://www.postman.com) para enviar una solicitud gRPC al servicio local de IronPDFEngine con el número predeterminado de 33350.
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/pdf/how-to/Ironpdfengine-docker/servicestatus.webp" alt="Estado" class="img-responsive add-shadow" />
</div>
</div>
Como puedes ver en la respuesta, el estado de la respuesta es `SERVING`, indicando que el servicio está activo y funcionando. Si el contenedor no está sano, el estado de la respuesta sería `NOT_SERVING`.
### Comprobación de salud con la configuración de Kubernetes
Para configuraciones de Kubernetes, podemos usar lo siguiente para verificar si el servicio está saludable o no.
```yaml
livenessProbe:
exec:
command:
- /bin/grpc_health_probe
- -addr=:33350
- -rpc-timeout=5s
```
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 docker con versiones compatibles de IronPDF (v2023.2.x y superiores). Esto ayudará a los desarrolladores a erradicar problemas de implementación que puedan estar experimentando con IronPDF.
Por qué es una buena idea ejecutar IronPDF como su propio contenedor
IronPDF requiere tanto los binarios de Chrome como de Pdfium para operar, los cuales son enormes en tamaño de archivo (cientos de MB). También requiere que se instalen varias dependencias en la máquina.
Al usar este método, su cliente solo ocupará una fracción del tamaño (en MB).
Evite los problemas de implementación
Puede ser un desafío configurar el entorno/contenedor para incluir correctamente todas las dependencias. Usar el contenedor Docker de IronPDF significa que IronPDF viene preinstalado y garantizado para funcionar, evitando todos los dolores de cabeza de implementación y dependencia.
Versiones
La etiqueta de IronPDF Docker se basa en la versión del propio IronPDFEngine. No es la misma versión que el producto IronPDF.
Cada versión de IronPDF tendrá su propia versión asociada de IronPDFEngine. El número de versión debe coincidir con la versión de IronPDF Docker.
Por ejemplo, IronPDF for Java versión 2023.2.1 requiere la versión 2023.2.1 de IronPdfEngine. Usted no puede usar versiones desajustadas de IronPDFEngine e IronPDF.
Cómo utilizar IronPDF Docker
Instalar IronPDF
Añadir el paquete NuGet IronPdf.Slim a su proyecto.
Nota: los paquetes IronPdf, IronPdf.Linux y IronPdf.MacOs contienen IronPdf.Slim.
Para reducir el tamaño de su aplicación, recomendamos instalar solo IronPdf.Slim. El paquete IronPdf.Native.Chrome.xxx ya no se usa, por lo que puedes eliminarlo de tu 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 usar el siguiente código para verificar manualmente la versión:
Ejecute el contenedor ironsoftwareofficial/ironpdfengine.
Este comando creará un contenedor y lo 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
docker run -d -p 33350:33350 -e IRONPDF_ENGINE_LICENSE_KEY=MY_LICENSE_KEY ironsoftwareofficial/ironpdfengine:2025.3.6
SHELL
¿Cómo configuro los parámetros de tiempo de ejecución de IronPdfEngine?
Los parámetros de tiempo de ejecución se pueden pasar directamente al contenedor como pares key=value después del nombre de la imagen. Estas configuran el comportamiento del motor sin necesidad de recompilar la imagen.
Ruta del archivo de registro (también habilita el registro de depuración completo)
logging_mode
string
Console
Modo de registro: Ninguno, Consola, Personalizado, Ventana de salida de depuración, Archivo, Todo
chrome_browser_limit
int
-
Número máximo de instancias simultáneas del navegador Chrome
chrome_cache_path
path
-
Directorio de la caché del navegador Chrome
chrome_gpu_mode
int
0
Modo GPU: 0 Desactivado, 1 Hardware, 2 HardwareFull, 3 Software
chrome_custom_deployment_dir
path
-
Directorio personalizado para los binarios de implementación de Chrome
temp_folder_path
path
-
Anular el directorio temporal
skip_shutdown
bool
false
Evitar que el motor se apague cuando está inactivo
skip_initialization
bool
false
Omitir la inicialización de Chrome/Pdfium al iniciar el sistema
keep_alive
bool
false
Mantener el motor en funcionamiento después de que el cliente se desconecte
single_process
bool
-
Ejecutar Chrome en modo de proceso único
linux_and_docker_auto_config
bool
true
Configuración automática de las dependencias de Linux/Docker (establecidas automáticamente por el punto de entrada de Docker)
send_anonymous_analytics_and_crash_data
bool
-
Habilitar o deshabilitar la telemetría anónima
Por favor nota: El parámetro linux_and_docker_auto_config se establece automáticamente en true por el punto de entrada de Docker. No es necesario que lo revises manualmente. El chrome_gpu_mode debe permanecer en 0 (Desactivado) en Docker a menos que tu host proporcione paso de GPU.
La variable de entorno IRONPDF_ENGINE_LICENSE_KEY también se puede usar para establecer la clave de licencia a través de -e o environment: en Docker Compose. Los parámetros de la línea de comandos tienen prioridad sobre las variables de entorno cuando ambos están configurados.
docker run -p 33350:33350 \ ironsoftwareofficial/ironpdfengine \ enable_debug=true log_path=/app/logs/engine.log
docker run -p 33350:33350 \
ironsoftwareofficial/ironpdfengine \
enable_debug=true log_path=/app/logs/engine.log
SHELL
Con Docker Compose
La clave es configurar una red Docker que permita a IronPDFEngine y su aplicación verse mutuamente. Establezca 'depends_on' para garantizar que IronPDFEngine esté activo antes de que su aplicación comience.
Configuración
Comienza creando un archivo docker-compose.yml. Configura tu archivo Docker Compose usando 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_startednetworks: ironpdf-network: driver: 'bridge'
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'
Text
Establezca la dirección de IronPDFEngine dentro de su aplicación (miaplicacionconsola) a "myironpdfengine:33350"
Ejecute docker compose
docker compose up --detach --force-recreate --remove-orphans --timestamps
docker compose up --detach --force-recreate --remove-orphans --timestamps
SHELL
Conectarse a IronPDFEngine
Ejecute su código IronPDF; ¡su aplicación ahora se comunica con IronPDFEngine en Docker!
using IronPdf;using IronPdf.GrpcLayer;// Configure for Docker containervar config = IronPdfConnectionConfiguration.Docker;config.Host = "localhost";IronPdf.Installation.ConnectToIronPdfHost(config);// Use IronPDFChromePdfRenderer renderer = new ChromePdfRenderer();PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF Docker!<h1>");pdf.SaveAs("ironpdf.pdf");
using IronPdf;
using IronPdf.GrpcLayer;
// Configure for Docker container
var config = IronPdfConnectionConfiguration.Docker;
config.Host = "localhost";
IronPdf.Installation.ConnectToIronPdfHost(config);
// Use IronPDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF Docker!<h1>");
pdf.SaveAs("ironpdf.pdf");
ImportsIronPdfImportsIronPdf.GrpcLayer' Configure for Docker containerPrivate config = IronPdfConnectionConfiguration.Dockerconfig.Host = "localhost"IronPdf.Installation.ConnectToIronPdfHost(config)' Use IronPDFDim renderer As New ChromePdfRenderer()Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF Docker!<h1>")pdf.SaveAs("ironpdf.pdf")
Imports IronPdf
Imports IronPdf.GrpcLayer
' Configure for Docker container
Private config = IronPdfConnectionConfiguration.Docker
config.Host = "localhost"
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")
Tipo de conexión
Hay varias IronPdfConnectionType que puedes asignar dependiendo del tipo de conexión que desees hacer.
Aquí hay una lista de propiedades disponibles:
LocalExecutable: Para conectarte a un "servidor" IronPdfEngine que ejecute un ejecutable en tu máquina local, usamos esta opción. Un ejemplo rápido sería una aplicación de facturación WinForm que genera PDFs localmente sin depender de servicios en la nube.
Docker: Esta opción debe usarse al intentar conectarse a un contenedor Docker localmente o en la nube.
RemoteServer: Esta opción se utiliza para IronPDFEngine en la nube. Esto se conecta a una instancia IronPDFEngine alojada en la nube (por ejemplo, Docker) a través del protocolo HTTP o HTTPS. Tenga en cuenta que, como esto se conecta a un servidor remoto, se requiere la URL completa (incluyendo el protocolo HTTP o HTTPS).
Custom: Para un control y personalización completos sobre la conexión, puede usar esta opción. Esta opción utiliza su Grpc.Core.ChannelBase definido por el usuario en lugar de las otras opciones definidas anteriormente. Los desarrolladores pueden crear un nuevo canal ya sea creando un nuevo objeto Grpc.Core.Channel o usando Grpc.Net.Client.GrpcChannel.ForAddress(System.String) para un control completo y personalizado sobre el canal gRPC.
.NET Framework con NetFrameworkChannel
Para .NET Framework, requerimos una configuración diferente porque gRPC funciona de manera diferente en proyectos .NET Framework.
Para que este método funcione, asegúrese de que el paquete NuGet Grpc.Core esté instalado. Usaremos un canal gRPC personalizado derivado de Grpc.Core.ChannelBase para esta configuración específica.
Examinemos este ejemplo, donde implementaremos el canal de conexión para crear y guardar un PDF usando IronPDFEngine.
Consejos: Dado que gRPC funciona de manera diferente en el proyecto .NET Framework, si el siguiente código no funciona intenta eliminar el prefijo <http> o <https> en la dirección.
Advertencia: Ten en cuenta que este pdf.Dispose es necesario en este caso.
using IronPdf;// This code demonstrates how to use IronPdf with gRPC in a .NET Framework application.// 1. Configure connection to use local IronPdfEngine executablevar config = IronPdf.GrpcLayer.IronPdfConnectionConfiguration.Executable;// 2. Connect to the IronPDF host with the executable configurationIronPdf.Installation.ConnectToIronPdfHost(config);// 3. Create a PDF renderer instanceChromePdfRenderer renderer = new ChromePdfRenderer();// 4. Render HTML string as PDF documentPdfDocument pdf = renderer.RenderHtmlAsPdf("Hello world");// 5. Save the PDF to diskpdf.SaveAs("output.pdf");// 6. Clean up , this is needed to workpdf.Dispose();
using IronPdf;
// This code demonstrates how to use IronPdf with gRPC in a .NET Framework application.
// 1. Configure connection to use local IronPdfEngine executable
var config = IronPdf.GrpcLayer.IronPdfConnectionConfiguration.Executable;
// 2. Connect to the IronPDF host with the executable configuration
IronPdf.Installation.ConnectToIronPdfHost(config);
// 3. Create a PDF renderer instance
ChromePdfRenderer renderer = new ChromePdfRenderer();
// 4. Render HTML string as PDF document
PdfDocument pdf = renderer.RenderHtmlAsPdf("Hello world");
// 5. Save the PDF to disk
pdf.SaveAs("output.pdf");
// 6. Clean up , this is needed to work
pdf.Dispose();
ImportsIronPdf' This code demonstrates how to use IronPdf with gRPC in a .NET Framework application.' 1. Configure connection to use local IronPdfEngine executableDim config = IronPdf.GrpcLayer.IronPdfConnectionConfiguration.Executable' 2. Connect to the IronPDF host with the executable configurationIronPdf.Installation.ConnectToIronPdfHost(config)' 3. Create a PDF renderer instanceDim renderer As New ChromePdfRenderer()' 4. Render HTML string as PDF documentDim pdf AsPdfDocument = renderer.RenderHtmlAsPdf("Hello world")' 5. Save the PDF to diskpdf.SaveAs("output.pdf")' 6. Clean up, this is needed to workpdf.Dispose()
Imports IronPdf
' This code demonstrates how to use IronPdf with gRPC in a .NET Framework application.
' 1. Configure connection to use local IronPdfEngine executable
Dim config = IronPdf.GrpcLayer.IronPdfConnectionConfiguration.Executable
' 2. Connect to the IronPDF host with the executable configuration
IronPdf.Installation.ConnectToIronPdfHost(config)
' 3. Create a PDF renderer instance
Dim renderer As New ChromePdfRenderer()
' 4. Render HTML string as PDF document
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("Hello world")
' 5. Save the PDF to disk
pdf.SaveAs("output.pdf")
' 6. Clean up, this is needed to work
pdf.Dispose()
Método alternativo con WithCustomChannel
Un método alternativo sería utilizar el método WithCustomChannel proporcionado por el IronPdf.GrpcLayer.
El WithCustomChannel toma dos parámetros, el customChannel, que es tu canal gRPC personalizado, y metadata. El parámetro metadata es opcional y se establece en null por defecto.
using IronPdf;using IronPdf.GrpcLayer;using Grpc.Core;// 1. Create custom gRPC channel (.NET Framework style)var channel = new Channel("123.456.7.8:80", ChannelCredentials.SecureSsl);// 2. (Optional) Add metadata headers if neededvar metadata = new Metadata{ { "Authorization", "Bearer your_token_here" }};// 3. Configure IronPDF with custom channelvar config = IronPdfConnectionConfiguration.WithCustomChannel(channel, metadata);IronPdf.Installation.ConnectToIronPdfHost(config);// 4. Generate PDFvar renderer = new ChromePdfRenderer();PdfDocument pdf = renderer.RenderHtmlAsPdf("Hello world");// 5. Save the PDF to diskpdf.SaveAs("output.pdf");// 6. Clean up , this is needed to workpdf.Dispose();
using IronPdf;
using IronPdf.GrpcLayer;
using Grpc.Core;
// 1. Create custom gRPC channel (.NET Framework style)
var channel = new Channel("123.456.7.8:80", ChannelCredentials.SecureSsl);
// 2. (Optional) Add metadata headers if needed
var metadata = new Metadata
{
{ "Authorization", "Bearer your_token_here" }
};
// 3. Configure IronPDF with custom channel
var config = IronPdfConnectionConfiguration.WithCustomChannel(channel, metadata);
IronPdf.Installation.ConnectToIronPdfHost(config);
// 4. Generate PDF
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("Hello world");
// 5. Save the PDF to disk
pdf.SaveAs("output.pdf");
// 6. Clean up , this is needed to work
pdf.Dispose();
ImportsIronPdfImportsIronPdf.GrpcLayerImportsGrpc.Core' 1. Create custom gRPC channel (.NET Framework style)Dim channel As New Channel("123.456.7.8:80", ChannelCredentials.SecureSsl)' 2. (Optional) Add metadata headers if neededDim metadata As New MetadataFrom { {"Authorization", "Bearer your_token_here"}}' 3. Configure IronPDF with custom channelDim config AsIronPdfConnectionConfiguration = IronPdfConnectionConfiguration.WithCustomChannel(channel, metadata)IronPdf.Installation.ConnectToIronPdfHost(config)' 4. Generate PDFDim renderer As New ChromePdfRenderer()Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf("Hello world")' 5. Save the PDF to diskpdf.SaveAs("output.pdf")' 6. Clean up, this is needed to workpdf.Dispose()
Imports IronPdf
Imports IronPdf.GrpcLayer
Imports Grpc.Core
' 1. Create custom gRPC channel (.NET Framework style)
Dim channel As New Channel("123.456.7.8:80", ChannelCredentials.SecureSsl)
' 2. (Optional) Add metadata headers if needed
Dim metadata As New Metadata From {
{"Authorization", "Bearer your_token_here"}
}
' 3. Configure IronPDF with custom channel
Dim config As IronPdfConnectionConfiguration = IronPdfConnectionConfiguration.WithCustomChannel(channel, metadata)
IronPdf.Installation.ConnectToIronPdfHost(config)
' 4. Generate PDF
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("Hello world")
' 5. Save the PDF to disk
pdf.SaveAs("output.pdf")
' 6. Clean up, this is needed to work
pdf.Dispose()
Se recomienda un mínimo de 1 vCPU con 2 GB de RAM. Dependiendo de su carga de trabajo, si está trabajando con PDFs que contienen más de 10 páginas o experimentando altas solicitudes de carga, seleccione un nivel superior.
URI de Imagen: apunte a cualquier IronPDFEngine de nosotros. Por ejemplo, "ironsoftwareofficial/ironpdfengine:2024.1.20" (de DockerHub)
Permisos AWS & Red son su responsabilidad
Habilitar Amazon CloudWatch es recomendado. (Enable logging)
Orden de inicio del contenedor es necesario si desea desplegar su contenedor de aplicación en la misma definición de tarea.
Ejecute una definición de tarea. Podría ejecutar una definición de tarea como Tarea o Servicio. Siga esta guía sobre crear un servicio usando la consola.
Ajustes recomendados:
Tipo de lanzamiento: AWS Fargate
IP pública: Activada para pruebas y Desactivada para producción. La seguridad y la red de AWS son su responsabilidad.
¡Disfrute! ¡El docker de IronPDFEngine está en marcha en su AWS!
Por favor nota: El contenedor Docker de IronPdfEngine en sí no soporta el escalado horizontal; está diseñado como un servicio de backend de instancia única. Tu aplicación utilizando la biblioteca IronPDF (con o sin IronPdfEngine) aún puede escalar horizontalmente mediante el despliegue de múltiples instancias de la aplicación. Consulta la Limitación de IronPdfEngine para más detalles.
Despliegue IronPDFEngine en instancias de contenedor Azure
Imagen: ironsoftwareofficial/ironpdfengine:2024.1.20 (de Docker Hub)
Tipo de OS: Linux
Tamaño: Mínimo de 1 vCPU y 2 GiB de memoria, o superior
Puerto: TCP Puerto 33350
¡Disfrute! ¡El docker de IronPDFEngine está en marcha en sus Azure Container Instances!
Por favor nota: El contenedor Docker de IronPdfEngine no soporta el escalado horizontal; diseñado como un servicio de backend de instancia única. Tu aplicación utilizando la biblioteca IronPDF (con o sin IronPdfEngine) aún puede escalar horizontalmente mediante el despliegue de múltiples instancias de la aplicación. Consulta la Limitación de IronPdfEngine para más información.
Conseguir IronPDFEngine en la galería pública de AWS ECR
Complete los "Básicos", "Detalles del Clúster", y "Detalles de la Aplicación" para crear el servicio de Kubernetes.
Una vez que el despliegue se ha completado, navegue a la barra lateral izquierda y seleccione recursos de Kubernetes> Ejecutar comando. Ejecuta el siguiente comando:
kubectl get services
kubectl get services
SHELL
Con la información de EXTERNAL-IP y PORT(S), puede configurar la conexión IronPDFEngine en consecuencia.
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");
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");
ImportsIronPdfImportsIronPdf.GrpcLayerIronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"Dim configuration As New IronPdfConnectionConfiguration()configuration.ConnectionType = IronPdfConnectionType.RemoteServerconfiguration.Host = "http://48.216.143.233"configuration.Port = 80IronPdf.Installation.ConnectToIronPdfHost(configuration)Dim renderer As New ChromePdfRenderer()Dim pdf AsPdfDocument = 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")
Extraiga la imagen de ironpdfengine. Este paso le mostrará un comando para extraer la imagen de ironpdfengine.
Por ejemplo:
aws ecr get-login-password \ --region us-east-1 | docker login \ --username AWS \ --password-stdin 000000000000.dkr.ecr.us-east-1.amazonaws.comCONTAINER_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
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
SHELL
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
docker run -d -p 33350:33350 000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15
SHELL
Comprobación de la salud de IronPDFEngine
Verificar el estado de su Contenedor Docker es crucial para asegurar la fiabilidad y disponibilidad en un entorno de producción. La capacidad de verificar el contenedor Docker de IronPDFEngine permite a los desarrolladores reiniciar el servicio si falla, así como escalar los recursos si la demanda aumenta, junto con el monitoreo de una aplicación continua.
Para verificar el estado de su IronPDFEngine, podemos enviar una solicitud gRPC al mismo puerto de IronPDFEngine (por defecto, sería 33350) para verificar si obtenemos una respuesta.
Comprobación de salud con gRPC
IronPDFEngine se adhiere al patrón estándar de control de salud gRPC, utilizando la siguiente estructura de protocolo.
message HealthCheckRequest { string service = 1; // Name of the service to check (e.g., "IronPdfEngine")}
message HealthCheckRequest {
string service = 1; // Name of the service to check (e.g., "IronPdfEngine")
}
Text
Dado que estamos verificando IronPdfEngine, reemplazamos el nombre del servicio con IronPdfEngine.
Aquí hay un ejemplo usando JavaScript con Postman para enviar una solicitud gRPC al servicio local de IronPDFEngine con el número predeterminado de 33350.
Como puedes ver en la respuesta, el estado de la respuesta es SERVING, indicando que el servicio está activo y funcionando. Si el contenedor no está sano, el estado de la respuesta sería NOT_SERVING.
Comprobación de salud con la configuración de Kubernetes
Para configuraciones de Kubernetes, podemos usar lo siguiente para verificar si el servicio está saludable o no.
¿Cómo puedo convertir HTML a PDF en C# usando Docker?
Puede utilizar la configuración Docker de IronPDF para convertir HTML a PDF en C#. Despliegue IronPDFEngine en un contenedor Docker y use métodos como RenderHtmlAsPdf para lograr esto.
¿Cuáles son los beneficios de usar IronPDFEngine en Docker?
Usar IronPDFEngine en Docker ofrece un entorno preinstalado y confiable, reduciendo problemas de dependencia y asegurando que todos los componentes necesarios, como los binarios de Chrome y Pdfium, estén disponibles.
¿Cómo configuro IronPDFEngine con Docker Compose?
Cree un archivo docker-compose.yml y defina los servicios y redes. Asegure que IronPDFEngine inicie antes que su aplicación usando la directiva depends_on.
¿Qué pasos se requieren para implementar IronPDFEngine en AWS ECS?
Para desplegar en AWS ECS, cree un clúster ECS, defina una definición de tarea y use AWS Fargate para asignaciones de recursos. Luego, ejecute su tarea o servicio para lanzar IronPDFEngine.
¿Cómo puedo descargar IronPDFEngine desde la AWS ECR Public Gallery?
Acceda a la AWS ECR Public Gallery, encuentre la imagen de IronPDFEngine y siga los comandos proporcionados para descargar y ejecutar el contenedor.
¿Es posible usar IronPDFEngine desde el Mercado de Azure?
Sí, IronPDFEngine está disponible en el Mercado de Azure. Puede seguir las instrucciones de configuración en la página del Mercado para implementar el contenedor Docker.
¿Qué limitaciones debo tener en cuenta al usar IronPDFEngine?
El contenedor Docker de IronPdfEngine en sí no admite escalado horizontal, ya que está diseñado como un servicio backend de instancia única. Sin embargo, las aplicaciones que usan la biblioteca IronPDF (con o sin IronPdfEngine) aún pueden escalar horizontalmente al implementar múltiples instancias de la aplicación. Planifique su implementación teniendo en cuenta esta distinción.
¿Cómo puedo manejar eficientemente las tareas de generación y manipulación de PDF con Docker?
Implemente IronPDFEngine en un contenedor Docker para gestionar eficientemente las tareas de generación y manipulación de PDF, aprovechando las capacidades de Docker para manejar dependencias y asegurar un ambiente consistente.
¿Cuáles son los requisitos para implementar IronPDFEngine en Azure Container Instances?
Para implementar en Azure Container Instances, asegúrese de tener una cuenta de Azure y descargue la imagen Docker de IronPDFEngine para su implementación.
Are there specific logging configurations available for IronPdfEngine?
Yes, IronPdfEngine supports various logging configurations, including console, file, and custom modes. This flexibility helps in monitoring and debugging, allowing developers to choose the best method for their needs.
Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.