Añadir IronPDF a un contenedor Docker existente
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.
¿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.
- Ubuntu 24 (Noble)
- Ubuntu 22
- Ubuntu 20
- Ubuntu 18
- Debian 11
- Debian 10
- CentOS 8
- Amazon AWS Linux 2 Leer la Guía de Configuración de IronPDF para AWS Lambda
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
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
Archivos Docker de Ubuntu Linux
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
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
# 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
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
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.
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 = falsey 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
/tmpgarantiza 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.

