Configuración de IronXL en contenedores Docker

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

DeseaLeer, 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 nuestroGuí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 MicrosoftImá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 elIronXL 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"]