Configuración de IronXL en contenedores Docker
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.
¿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
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"]