Añadir IronPDF a un contenedor Docker existente

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF for .NET Standard ahora es totalmente compatible con Docker, incluidas las contenedores Docker de Azure para Linux y Windows.

¿Desea implementar IronPDF como un contenedor Docker separado en su lugar? Obtén más información sobre la guía de tutoriales de IronPDFEngine.

Logo de Docker
Logo de Azure
Logo de Linux
Logo de AWS
Logo de Windows

¿Por qué utilizar Docker en Azure?

Además de una excelente escalabilidad empresarial, los contenedores Docker en Azure disfrutan de más permisos que las aplicaciones web regulares. Esto permite renderizar fuentes SVG porque el acceso al sistema a gráficos GDI+ está habilitado.

IronPDF y Linux Primer

Si Docker con .NET es nuevo para usted, le recomendamos este excelente artículo sobre configuración de depuración e integración de Docker con proyectos de Visual Studio.

También te recomendamos encarecidamente que leas nuestra Guía de configuración y compatibilidad de IronPDF para Linux.

Distribuciones recomendadas de Docker para Linux

Recomendamos las últimas OS de Linux de 64 bits a continuación para una "configuración fácil" de IronPDF.

Recomendamos usar las Imágenes Docker Oficiales for .NET de Microsoft. Otras distribuciones de Linux son compatibles en parte, pero pueden requerir configuración manual. Vea nuestra guía de "Configuración Manual de Linux".

Instalación de IronPDF Linux Docker

Utilizar paquetes NuGet optimizados para Linux

Recomendamos usar el paquete IronPdf.Linux de NuGet en lugar del paquete regular IronPDF para ahorrar espacio en disco y evitar que se descarguen activos cuando inicies tu instancia de Docker. No se preocupe, aún funciona al desarrollar en Windows o macOS, solo que está optimizado para Linux.

Install-Package IronPdf.Linux

Otra solución es simplemente añadir IronPdf.Native.Chrome.Linux sobre el paquete regular IronPDF de NuGet.

Install-Package IronPdf.Native.Chrome.Linux

Evite la instalación automática de dependencias

Muchos usuarios informan mejores resultados con Linux y Docker cuando LinuxAndDockerDependenciesAutoConfig está configurado como falso. Esto se debe a que los prerrequisitos ya están instalados por los gestores de paquetes estilo apt-get en sus archivos Docker.

// Disable automatic configuration of Linux and Docker dependencies
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
// Disable automatic configuration of Linux and Docker dependencies
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
' Disable automatic configuration of Linux and Docker dependencies
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = False
$vbLabelText   $csharpLabel

Desactivar la aceleración por GPU

A menudo, los contenedores Docker de Linux no tienen acceso a una GPU. La aceleración por GPU está desactivada por defecto. Si ha habilitado ChromeGpuModes.Enabled, le recomendamos encarecidamente que lo deshabilite para los despliegues de Docker:

// Disable GPU acceleration for Docker environments
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
// Disable GPU acceleration for Docker environments
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
' Disable GPU acceleration for Docker environments
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
$vbLabelText   $csharpLabel

Archivos Docker de Ubuntu Linux

Logo de Docker
Logotipo de Ubuntu

Ubuntu 24 con .NET 10

Ubuntu 24.04 (Noble) utiliza paquetes de transición de tiempo_t de 64 bits, por lo que algunos nombres de bibliotecas difieren de versiones anteriores de Ubuntu (p. ej., libasound2t64 en lugar de libasound2).

# Build stage
FROM mcr.microsoft.com/dotnet/sdk:10.0-noble AS build
WORKDIR /app
COPY *.csproj .
RUN dotnet restore
COPY . .
RUN dotnet publish -c Release -o /app/publish

# Runtime stage
FROM mcr.microsoft.com/dotnet/aspnet:10.0-noble AS runtime

# Install IronPDF dependencies for Ubuntu 24.04 Noble (64-bit transition libraries)
RUN apt-get update && apt-get install -y \
    libasound2t64 \
    libatk1.0-0t64 \
    libatk-bridge2.0-0t64 \
    libcairo2 \
    libcups2t64 \
    libdbus-1-3 \
    libdrm2 \
    libexpat1 \
    libfontconfig1 \
    libgbm1 \
    libglib2.0-0t64 \
    libgtk-3-0t64 \
    libnspr4 \
    libnss3 \
    libpango-1.0-0 \
    libpangocairo-1.0-0 \
    libx11-6 \
    libxcb1 \
    libxcomposite1 \
    libxdamage1 \
    libxext6 \
    libxfixes3 \
    libxkbcommon0 \
    libxrandr2 \
    fonts-liberation \
    wget \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "YourApp.dll"]

Ubuntu 24 con .NET 8

.NET 8 LTS combinados con Ubuntu 24.04 LTS es una combinación común en producción. Los mismos nombres de biblioteca de transición de 64 bits se aplican.

# Build stage
FROM mcr.microsoft.com/dotnet/sdk:8.0-noble AS build
WORKDIR /app
COPY *.csproj .
RUN dotnet restore
COPY . .
RUN dotnet publish -c Release -o /app/publish

# Runtime stage
FROM mcr.microsoft.com/dotnet/aspnet:8.0-noble AS runtime

# Install IronPDF dependencies for Ubuntu 24.04 Noble (64-bit transition libraries)
RUN apt-get update && apt-get install -y \
    libasound2t64 \
    libatk1.0-0t64 \
    libatk-bridge2.0-0t64 \
    libcairo2 \
    libcups2t64 \
    libdbus-1-3 \
    libdrm2 \
    libexpat1 \
    libfontconfig1 \
    libgbm1 \
    libglib2.0-0t64 \
    libgtk-3-0t64 \
    libnspr4 \
    libnss3 \
    libpango-1.0-0 \
    libpangocairo-1.0-0 \
    libx11-6 \
    libxcb1 \
    libxcomposite1 \
    libxdamage1 \
    libxext6 \
    libxfixes3 \
    libxkbcommon0 \
    libxrandr2 \
    fonts-liberation \
    wget \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "YourApp.dll"]

Ubuntu 22 con .NET 8

Ubuntu 22 con .NET 7

Ubuntu 20 con .NET 6

Ubuntu 20 con .NET 5

Ubuntu 20 con .NET 3.1 LTS

Ubuntu 18 con .NET 3.1 LTS

Archivos Docker para Debian Linux

Logo de Docker
Logotipo de Debian

Debian 12 con .NET 8

Debian 11 con .NET 7

Debian 11 con .NET 6

Debian 11 con .NET 5

Debian 11 con .NET 3.1 LTS

Debian 10 con .NET 5

Debian 10 con .NET 3.1 LTS

Archivos Docker de Alpine Linux

No se admite la ejecución de IronPDF en Alpine Linux. Ojalá pudiéramos, pero no podemos. Francamente, nos gusta Alpine y esperamos que este proyecto continúe y crezca. A partir de 2023, Alpine aún utiliza las bibliotecas de lenguaje C "musl" desactualizadas que no permiten que los desarrolladores de Chromium soporten completamente este sistema operativo aún.

Uso de Alpine Docker con IronPDFEngine en .NET 6

IronPDF proporciona una imagen contenedora que contiene todas las funcionalidades de IronPDF. Esto permite a los proyectos que se ejecutan en Alpine acceder a las funcionalidades de IronPD conectándose al contenedor IronPDFEngine.

Paso 1: Extraer y ejecutar la imagen Docker del motor IronPDF

Ejecute los siguientes comandos en su terminal para extraer y ejecutar la imagen Docker del motor IronPDF:

# Pull the IronPDF Engine Docker Image
docker pull ironsoftwareofficial/ironpdfengine
# Pull the IronPDF Engine Docker Image
docker pull ironsoftwareofficial/ironpdfengine
SHELL
# Run the IronPDF Engine Docker container
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
# Run the IronPDF Engine Docker container
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
SHELL

Paso 2: Configurar la aplicación de consola

Cree una nueva aplicación de consola orientada a .NET 6. Instale el paquete IronPdf.Slim NuGet mediante el gestor de paquetes NuGet.

Archivo Docker para Windows

Logo de Docker
Logo de Windows

Los contenedores Docker de Windows son cada vez más populares en Azure, ya que ofrecen mayores niveles de rendimiento y escalabilidad y dan a los desarrolladores más permisos para configurar instancias.

IronPDF realizará un renderizado de texto más atractivo dentro de un contenedor Docker (Windows o Linux) en Azure debido a los mayores niveles de acceso a la biblioteca de gráficos y a la tarjeta gráfica virtual.

El artículo 'Visual Studio Container Tools for Docker' es una magnífica guía de iniciación.

Este es un ejemplo de archivo Docker de contenedor de Windows for .NET Core 3.1

Servidor Windows 2019 .NET 6.0

Los contenedores Windows preconfigurados incluyen todas las dependencias necesarias para ejecutar IronPDF.

Por favor notaTenga en cuenta que estos contenedores no están pensados ​​para CREAR aplicaciones .NET , sino para EJECUTARLAS.

Visite el repositorio Docker para explorar otras imágenes preconfiguradas para ejecutar IronPDF.

Docker en España: VPS hospedado en España para servicios VeriFactu y LOPDGDD

Para equipos de desarrollo en España, Docker es especialmente relevante cuando se despliegan servicios de generación de PDF en infraestructura propia o en VPS hospedados en territorio español, como requisito de la LOPDGDD al procesar datos personales.

Servicio Docker de firma de facturas VeriFactu

Los ISV que implementan VeriFactu pueden aislar la lógica de generación de PDF en un contenedor Docker separado alojado en un VPS español. Esta arquitectura ofrece ventajas prácticas:

  • Aislamiento del proceso de firma: el contenedor que ejecuta IronPDF para la generación del PDF de factura puede separarse del servicio de firma AEAT, limitando la superficie de exposición.
  • Residencia de datos: al desplegar en VPS español con Ubuntu 22 LTS o Debian 11, los datos de las facturas (que incluyen NIF/CIF y datos fiscales) permanecen dentro de España, conforme a la AEPD.
  • Escalabilidad de temporada fiscal: Docker Compose permite escalar horizontalmente el servicio de generación de PDFs durante picos de emisión (cierres trimestrales de IVA del SII).

Nota: IronPDF actúa como componente de generación de PDF dentro del software de facturación. La certificación VeriFactu recae sobre el sistema completo, no sobre la biblioteca de PDF de forma aislada.

Consideraciones LOPDGDD para contenedores Docker

Cuando los contenedores procesan documentos PDF con datos personales:

  • Configurar IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false y declarar todas las dependencias en el Dockerfile evita descargas en tiempo de ejecución que podrían atravesar fronteras de datos.
  • Usar volúmenes Docker efímeros para /tmp garantiza que los PDFs temporales no persisten tras el ciclo de vida del contenedor.
  • Para flujos Facturae con archivos XML adjuntos, la imagen Ubuntu 22 con .NET 8 ofrece la combinación más estable para entornos de producción en VPS español.

Alternativa a iText AGPL en contenedores

Los equipos que evalúan iText para contenedores Docker deben considerar que su licencia AGPL obliga a liberar el código fuente al distribuir el servicio. En contenedores Docker expuestos como microservicios internos o APIs, esta obligación sigue aplicándose. IronPDF ofrece licencia comercial sin cláusula copyleft, simplificando el despliegue en entornos de software propietario de facturación.

Preguntas Frecuentes

¿Cómo puedo integrar una biblioteca .NET para la generación de PDF en un contenedor Docker?

Puedes integrar IronPDF, una biblioteca .NET para la generación de PDF, en un contenedor Docker utilizando las imágenes Docker oficiales de Microsoft y el paquete NuGet IronPdf.Linux para Linux, o contenedores Docker preconfigurados para entornos Windows.

¿Cuáles son los beneficios de usar contenedores Docker para manipulación de PDF en Azure?

El uso de contenedores Docker para la manipulación de PDF en Azure proporciona una escalabilidad empresarial mejorada y más permisos que las aplicaciones web normales. Esta configuración es ideal para habilitar funciones avanzadas como el renderizado de fuentes SVG a través del acceso a gráficos GDI+.

¿Qué distribuciones de Linux son más adecuadas para ejecutar una biblioteca .NET para PDF en Docker?

Las distribuciones de Linux más adecuadas para ejecutar IronPDF en Docker incluyen Ubuntu 18/20/22, Debian 10/11, CentOS 8 y Amazon AWS Linux 2, ya que ofrecen una configuración y compatibilidad sencillas.

¿Cómo puedo optimizar el rendimiento de una biblioteca .NET para PDF en contenedores Docker de Linux?

Para optimizar el rendimiento, utiliza el paquete IronPdf.Linux, desactiva la instalación automática de dependencias y apaga la aceleración de GPU configurando IronPdf.Installation.ChromeGpuMode a IronPdf.Engines.Chrome.ChromeGpuModes.Disabled.

¿Puede ejecutar IronPDF en Alpine Linux dentro de un contenedor Docker?

IronPDF no admite nativamente Alpine Linux debido a las bibliotecas 'musl' incompatibles. Para usar IronPDF en Alpine Linux, considera ejecutarlo a través de un contenedor Docker de IronPDFEngine.

¿Cuál es el propósito de usar contenedores Docker preconfigurados para una biblioteca .NET?

Los contenedores Docker preconfigurados proporcionan todas las dependencias necesarias para ejecutar IronPDF de manera eficiente, asegurando un alto rendimiento y escalabilidad, particularmente beneficioso al implementar en plataformas como Azure.

¿Cómo puedo configurar una biblioteca .NET para PDF para aplicaciones .NET en Docker?

Puedes configurar IronPDF para aplicaciones .NET en Docker integrándolo con contenedores Docker tanto para Linux como para Windows, habilitando robustas funcionalidades de PDF dentro de una arquitectura de microservicios.

¿Cuáles son los pasos de configuración recomendados para implementar una biblioteca .NET en Docker?

Los pasos recomendados incluyen el uso de un paquete optimizado para Linux como IronPdf.Linux, la desactivación de instalaciones automáticas de dependencias y la preinicialización de IronPDF para evitar retrasos durante el tiempo de ejecución en entornos Docker.

¿Cómo configuro una biblioteca .NET para PDF en un contenedor Docker de Windows Server 2019 ejecutando .NET 6.0?

Configura una biblioteca .NET para PDF en un contenedor Docker de Windows Server 2019 utilizando un Dockerfile preconfigurado que incluya todas las dependencias y configuraciones necesarias para ejecutar IronPDF con .NET 6.0.

¿Por qué deshabilitar la aceleración de GPU en una configuración Docker para una biblioteca .NET?

Deshabilitar la aceleración de GPU para IronPDF en Docker puede llevar a un despliegue y rendimiento más fluidos al evitar problemas potenciales relacionados con gráficos en entornos donde los recursos de GPU son limitados.

¿Cómo se usa Docker con IronPDF para servicios VeriFactu en España?

Los ISV españoles pueden desplegar IronPDF en un contenedor Docker alojado en un VPS español para generar PDFs de facturas dentro de flujos VeriFactu. El contenedor se encarga de la generación del PDF; el sistema de facturación certificado gestiona la firma AEAT y el registro. Ubuntu 22 con .NET 8 es la combinación más estable para producción. Los datos de las facturas permanecen en España, cumpliendo con la LOPDGDD y las recomendaciones de la AEPD.

¿Qué ventajas ofrece Docker con IronPDF frente a iText AGPL en software de facturación español?

iText utiliza licencia AGPL, que obliga a publicar el código fuente del software que lo integra, incluido el código desplegado en contenedores Docker. Para software propietario de facturación (ERP, TPV, software de gestión), esto supone un riesgo legal significativo. IronPDF ofrece licencia comercial sin cláusula copyleft, permitiendo despliegues Docker en servicios de facturación sin restricciones de publicación de código.

Curtis Chau
Escritor Técnico

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

Leer más
¿Listo para empezar?
Nuget Descargas 19,014,616 | Versión: 2026.5 just released
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronPdf
ejecutar una muestra Mira cómo tu HTML se convierte en PDF.