Configuración de IronXL en contenedores Docker

Desea Leer, editar & crear archivos de hoja de cálculo Excel Usando C#?

IronXL ahora es totalmente compatible con Docker, incluidos Azure Docker Containers para Linux y Windows.

Docker Azure Linux Amazon Windows

¿Por qué utilizar Docker?

Docker permite a los desarrolladores empaquetar, enviar y ejecutar fácilmente cualquier aplicación como un contenedor ligero, portátil y autosuficiente, que puede ejecutarse prácticamente en cualquier lugar.

Introducción a IronXL y Linux

Si Docker con .NET es nuevo para ti, te recomendamos este excelente artículo sobre cómo configurar la depuración e integración de Docker con proyectos de Visual Studio. https://docs.microsoft.com/en-us/visualstudio/containers/edit-and-refresh?view=vs-2019

También le recomendamos encarecidamente que lea nuestro Guía de configuración y compatibilidad de IronXL 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 20
  • Ubuntu 18
  • Debian 11
  • Debian 10 [Actualmente, la distribución Linux predeterminada de Microsoft Azure es]
  • CentOS 7
  • CentOS 8

    Recomendamos utilizar la aplicación de Microsoft Imágenes Docker oficiales . 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 Docker en Linux IronXL

Utilice nuestro paquete NuGet

Recomendamos utilizar el IronXL NuGet Package funciona cuando se desarrolla en Windows , macOS y Linux.

Install-Package IronXL.Excel

Ubuntu Linux DockerFiles

Docker Ubuntu

Ubuntu 20 con .NET 5

imagen de ejecución base (Ubuntu 20 con ejecución .NET)

    FROM mcr.microsoft.com/dotnet/runtime:5.0-focal AS base

    directorio de trabajo /app

imagen de desarrollo base (Ubuntu 20 con .NET SDK)

    FROM mcr.microsoft.com/dotnet/sdk:5.0-focal AS build

    directorio de trabajo /src

restaurar paquetes NuGet

    COPIA ["Ejemplo/Ejemplo.csproj", "Ejemplo/"]

    RUN dotnet restore "Ejemplo/Ejemplo.csproj"

construir proyecto

    COPIA . .

    WORKDIR "/src/Ejemplo"

    RUN dotnet build "Example.csproj" -c Release -o /app/build

publicar proyecto

    FROM build AS publish

    RUN dotnet publish "Example.csproj" -c Release -o /app/publish

ejecutar aplicación

    FROM base AS final

    directorio de trabajo /app

    COPIAR --de=publicar /app/publicar .

    PUNTO DE ENTRADA ["dotnet", "Example.dll"]

Ubuntu 20 con .NET 3.1 LTS

imagen de ejecución base (Ubuntu 20 con ejecución .NET)

    FROM mcr.microsoft.com/dotnet/runtime:3.1-focal AS base

    directorio de trabajo /app

imagen de desarrollo base (Ubuntu 20 con .NET SDK)

    FROM mcr.microsoft.com/dotnet/sdk:3.1-focal AS build

    directorio de trabajo /src

restaurar paquetes NuGet

    COPIA ["Ejemplo/Ejemplo.csproj", "Ejemplo/"]

    RUN dotnet restore "Ejemplo/Ejemplo.csproj"

construir proyecto

    COPIA . .

    WORKDIR "/src/Ejemplo"

    RUN dotnet build "Example.csproj" -c Release -o /app/build

publicar proyecto

    FROM build AS publish

    RUN dotnet publish "Example.csproj" -c Release -o /app/publish

ejecutar aplicación

    FROM base AS final

    directorio de trabajo /app

    COPIAR --de=publicar /app/publicar .

    PUNTO DE ENTRADA ["dotnet", "Example.dll"]

Ubuntu 18 con .NET 3.1 LTS

imagen de ejecución base (Ubuntu 18 con ejecución .NET)

    FROM mcr.microsoft.com/dotnet/runtime:3.1-bionic AS base

    directorio de trabajo /app

imagen de desarrollo base (Ubuntu 18 con .NET SDK)

    FROM mcr.microsoft.com/dotnet/sdk:3.1-bionic AS build

    directorio de trabajo /src

restaurar paquetes NuGet

    COPIA ["Ejemplo/Ejemplo.csproj", "Ejemplo/"]

    RUN dotnet restore "Ejemplo/Ejemplo.csproj"

construir proyecto

    COPIA . .

    WORKDIR "/src/Ejemplo"

    RUN dotnet build "Example.csproj" -c Release -o /app/build

publicar proyecto

    FROM build AS publish

    RUN dotnet publish "Example.csproj" -c Release -o /app/publish

ejecutar aplicación

    FROM base AS final

    directorio de trabajo /app

    COPIAR --de=publicar /app/publicar .

    PUNTO DE ENTRADA ["dotnet", "Example.dll"]

Debian Linux DockerFiles

Debian 11 con .NET 5

imagen de ejecución base (Debian 10 con ejecución .NET)

    FROM mcr.microsoft.com/dotnet/aspnet:5.0-bullseye-slim AS base

    directorio de trabajo /app

imagen de desarrollo base (Debian 10 con .NET SDK)

    FROM mcr.microsoft.com/dotnet/sdk:5.0-bullseye-slim AS build

    directorio de trabajo /src

restaurar paquetes NuGet

    COPIA ["Ejemplo/Ejemplo.csproj", "Ejemplo/"]

    RUN dotnet restore "Ejemplo/Ejemplo.csproj"

construir proyecto

    COPIA . .

    WORKDIR "/src/Ejemplo"

    RUN dotnet build "Example.csproj" -c Release -o /app/build

publicar proyecto

    FROM build AS publish

    RUN dotnet publish "Example.csproj" -c Release -o /app/publish

ejecutar aplicación

    FROM base AS final

    directorio de trabajo /app

    COPIAR --de=publicar /app/publicar .

    PUNTO DE ENTRADA ["dotnet", "Example.dll"]

Debian 11 con .NET 3.1 LTS

imagen de ejecución base (Debian 10 con ejecución .NET)

    FROM mcr.microsoft.com/dotnet/aspnet:3.1-bullseye-slim AS base

    directorio de trabajo /app

imagen de desarrollo base (Debian 10 con .NET SDK)

    FROM mcr.microsoft.com/dotnet/sdk:3.1-bullseye-slim AS build

    directorio de trabajo /src

restaurar paquetes NuGet

    COPIA ["Ejemplo/Ejemplo.csproj", "Ejemplo/"]

    RUN dotnet restore "Ejemplo/Ejemplo.csproj"

construir proyecto

    COPIA . .

    WORKDIR "/src/Ejemplo"

    RUN dotnet build "Example.csproj" -c Release -o /app/build

publicar proyecto

    FROM build AS publish

    RUN dotnet publish "Example.csproj" -c Release -o /app/publish

ejecutar aplicación

    FROM base AS final

    directorio de trabajo /app

    COPIAR --de=publicar /app/publicar .

    PUNTO DE ENTRADA ["dotnet", "Example.dll"]

Debian 10 con .NET 5

imagen de ejecución base (Debian 10 con ejecución .NET)

    FROM mcr.microsoft.com/dotnet/runtime:5.0 AS base

    directorio de trabajo /app

imagen de desarrollo base (Debian 10 con .NET SDK)

    FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build

    directorio de trabajo /src

restaurar paquetes NuGet

    COPIA ["Ejemplo/Ejemplo.csproj", "Ejemplo/"]

    RUN dotnet restore "Ejemplo/Ejemplo.csproj"

construir proyecto

    COPIA . .

    WORKDIR "/src/Ejemplo"

    RUN dotnet build "Example.csproj" -c Release -o /app/build

publicar proyecto

    FROM build AS publish

    RUN dotnet publish "Example.csproj" -c Release -o /app/publish

ejecutar aplicación

    FROM base AS final

    directorio de trabajo /app

    COPIAR --de=publicar /app/publicar .

    PUNTO DE ENTRADA ["dotnet", "Example.dll"]

Debian 10 con .NET 3.1 LTS

imagen de ejecución base (Debian 10 con ejecución .NET)

    FROM mcr.microsoft.com/dotnet/runtime:3.1 AS base

    directorio de trabajo /app

imagen de desarrollo base (Debian 10 con .NET SDK)

    FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build

    directorio de trabajo /src

restaurar paquetes NuGet

    COPIA ["Ejemplo/Ejemplo.csproj", "Ejemplo/"]

    RUN dotnet restore "Ejemplo/Ejemplo.csproj"

construir proyecto

    COPIA . .

    WORKDIR "/src/Ejemplo"

    RUN dotnet build "Example.csproj" -c Release -o /app/build

publicar proyecto

    FROM build AS publish

    RUN dotnet publish "Example.csproj" -c Release -o /app/publish

ejecutar aplicación

    FROM base AS final

    directorio de trabajo /app

    COPIAR --de=publicar /app/publicar .

    PUNTO DE ENTRADA ["dotnet", "Example.dll"]

CentOS 7 con .NET 3.1 LTS

imagen de ejecución base (CentOS 7)

    FROM centos:7 AS base

    directorio de trabajo /app

instalar los paquetes necesarios

    RUN yum install sudo -y

    EJECUTE sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

    EJECUTAR sudo yum install dotnet-sdk-3.1 -y

    RUN sudo yum install aspnetcore-runtime-3.1 -y

    RUN sudo yum install dotnet-runtime-3.1 -y

    EJECUTAR sudo yum update -y

    directorio de trabajo /src

restaurar paquetes NuGet

    COPIA ["Ejemplo/Ejemplo.csproj", "Ejemplo/"]

    RUN dotnet restore "Ejemplo/Ejemplo.csproj"

construir proyecto

    COPIA . .

    WORKDIR "/src/Ejemplo"

    RUN dotnet build "Example.csproj" -c Release -o /app/build

publicar proyecto

    FROM build AS publish

    RUN dotnet publish "Example.csproj" -c Release -o /app/publish

ejecutar aplicación

    FROM base AS final

    directorio de trabajo /app

    COPIAR --de=publicar /app/publicar .

    PUNTO DE ENTRADA ["dotnet", "Example.dll"]

CentOS 8 con .NET 3.1 LTS

imagen de ejecución base (CentOS 8)

    FROM centos:8 AS base

    directorio de trabajo /app

instalar los paquetes necesarios

    RUN yum install sudo -y

    EJECUTE sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

    EJECUTAR sudo yum install dotnet-sdk-3.1 -y

    RUN sudo yum install aspnetcore-runtime-3.1 -y

    RUN sudo yum install dotnet-runtime-3.1 -y

    EJECUTAR sudo yum update -y

    directorio de trabajo /src

restaurar paquetes NuGet

    COPIA ["Ejemplo/Ejemplo.csproj", "Ejemplo/"]

    RUN dotnet restore "Ejemplo/Ejemplo.csproj"

construir proyecto

    COPIA . .

    WORKDIR "/src/Ejemplo"

    RUN dotnet build "Example.csproj" -c Release -o /app/build

publicar proyecto

    FROM build AS publish

    RUN dotnet publish "Example.csproj" -c Release -o /app/publish

ejecutar aplicación

    FROM base AS final

    directorio de trabajo /app

    COPIAR --de=publicar /app/publicar .

    PUNTO DE ENTRADA ["dotnet", "Example.dll"]