Añadir IronPDF a un contenedor Docker existente
IronPDF for .NET Standard ahora es totalmente compatible con Docker, incluidos Azure Docker Containers para Linux y Windows.
¿Desea desplegar IronPDF como un contenedor Docker independiente? Más informaciónla guía de tutoriales del motor IronPDF.
¿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 normales.
Esto permite renderizar fuentes SVG, ya que el acceso del sistema a los gráficos GDI+ está habilitado.
Introducción a IronPDF y Linux
Si Docker con .NET es nuevo para usted, le recomendamos este excelente artículo sobreconfiguración de la depuración e integración de Docker con proyectos de Visual Studio.
También le recomendamos encarecidamente que lea nuestroGuía de instalación y compatibilidad de IronPDF con Linux
Distribuciones Linux Docker recomendadas
Recomendamos a continuación los últimos sistemas operativos Linux de 64 bits para una "configuración sencilla" de IronPDF.
- Ubuntu 22
- Ubuntu 20
- Ubuntu 18
- Debian 11
- Debian 10 [Actualmente la distribución Linux predeterminada de Microsoft Azure]
- CentOS 8
Amazon AWS Linux 2Lea la Guía de configuración de IronPDF AWS Lambda
Recomendamos utilizar la aplicación de MicrosoftImágenes Docker oficiales para .NET . Otras distribuciones de Linux son compatibles en parte, pero pueden requerir una configuración manual mediante apt-get. Consulte nuestro "Configuración manual de Linux"Guía
En este documento se incluyen archivos Docker de trabajo para Ubuntu y Debian:
Fundamentos de la instalación de IronPDF Linux Docker
Utilizar paquetes NuGet optimizados para Linux
Recomendamos utilizar elIronPdf.Linux NuGet Package en lugar delIronPDF Package para ahorrar espacio en disco y evitar que se descarguen activos al iniciar su instancia de Docker. No te preocupes, sigue funcionando cuando se desarrolla en Windows o macOS - sólo está optimizado para Linux.
Install-Package IronPdf.Linux
Otra solución es añadir simplementeIronPdf.Native.Chrome.Linux además de las habitualesIronPDF Paquete NuGet.
Install-Package IronPdf.Native.Chrome.Linux
Evite la instalación automática de dependencias
Muchos usuarios informan de mejores resultados con Linux y Docker cuando LinuxAndDockerDependenciesAutoConfig
está en false. Esto se debe a que los requisitos previos ya están instalados por los gestores de paquetes de estilo apt-get ya en sus archivos Docker.
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
Desactivar la aceleración de la GPU
Los contenedores Docker de Linux no suelen tener acceso a una GPU. La aceleración de la GPU está desactivada por defecto. Si ha activado ChromeGpuModes.Enabled, le recomendamos encarecidamente que lo desactive para implementaciones Docker:
IronPdf.Installation.ChromeGpuMode=IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
"Inicialización "anticipada
Opcionalmente, también puede llamar al comando IronPdf.Installation.Initialize()
método para iniciar manualmente IronPDF. La primera vez que una instancia Docker utiliza IronPDF, puede tardar algún tiempo en descargar los requisitos previos. Podemos evitar ese escenario llamando a este código cuando se crea la instancia:
IronPdf.Installation.Initialize();
Ubuntu Linux DockerFiles
Ubuntu 22 con .NET 8
Por favor, cambia el usuario de 'app' a 'root'. Esto garantizará que se conceden suficientes permisos a la biblioteca. Con este cambio, no será necesario establecer 'rwx' para el IronCefSubprocess.
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
Debian Linux DockerFiles
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
Alpine Linux DockerFiles
No es posible ejecutar IronPDF en Alpine Linux. Ojalá pudiéramos, pero no podemos. Francamente, nos gusta Alpine y esperamos que este proyecto continúe y crezca. A fecha de 2023, Alpine sigue utilizando bibliotecas de lenguaje C "musl" obsoletas que no permiten aún a los desarrolladores de Chromium dar pleno soporte a este sistema operativo.
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 IronPdf conectándose a un 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:
docker pull ironsoftwareofficial/ironpdfengine
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 NuGet IronPdf.Slim mediante el gestor de paquetes NuGet.
Contenedores Docker de IronPDF 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 las 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 'Herramientas de Visual Studio para contenedores Dockeres una magnífica guía para empezar.
Este es un ejemplo de contenedor Windows Dockerfile para .NET Core 3.1
Windows Server 2019 .NET 6.0
Contenedores Windows preconfigurados que incluyen todas las dependencias necesarias para ejecutar IronPdf.
Atención
FROM mcr.microsoft.com/dotnet/sdk:6.0-windowsservercore-ltsc2019 AS build
WORKDIR /src
COPY ["nuget.config", "."]
COPY ["ConsoleApp/ConsoleApp.csproj", "ConsoleApp/"]
RUN dotnet restore "ConsoleApp/ConsoleApp.csproj"
COPY . .
WORKDIR "/src/ConsoleApp"
RUN dotnet build "ConsoleApp.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "ConsoleApp.csproj" -c Release -o /app/publish /p:UseAppHost=false
FROM ironsoftwareofficial/windows:2019-net60
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "ConsoleApp.dll"]
Visite elRepositorio Docker de IronSoftware en Docker Hub para explorar otras imágenes preconfiguradas para ejecutar IronPdf.