Mise en place d'IronXL dans des conteneurs Docker
VouloirLire, éditer & ; créer des fichiers de feuilles de calcul Excel en utilisant C#?
IronXL prend désormais entièrement en charge Docker, notamment Azure Docker Containers pour Linux et Windows.





Pourquoi utiliser Docker ?
Docker permet aux développeurs d'emballer, d'expédier et d'exécuter facilement n'importe quelle application sous la forme d'un conteneur léger, portable et autonome, qui peut fonctionner pratiquement n'importe où.
IronXL et Linux : l'abc de l'informatique
Si Docker avec .NET est nouveau pour vous, nous vous recommandons cet excellent article sur la configuration du débogage et de l'intégration de Docker avec les projets Visual Studio. https://docs.microsoft.com/en-us/visualstudio/containers/edit-and-refresh?view=vs-2019
Nous vous recommandons également de lire notreGuide d'installation et de compatibilité d'IronXL Linux
Distributions Linux Docker recommandées
Nous recommandons les derniers systèmes d'exploitation Linux 64 bits ci-dessous pour une "configuration facile" d'IronPDF.
- Ubuntu 20
- Ubuntu 18
- Debian 11
- Debian 10 \N-[Actuellement, le distributeur Linux par défaut de Microsoft Azure est le suivant]
- CentOS 7
CentOS 8
Nous recommandons d'utiliser le logicielImages Docker officielles . Les autres distributions Linux sont partiellement prises en charge, mais peuvent nécessiter une configuration manuelle à l'aide d'apt-get. Voir notre "Configuration manuelle de Linux"Guide de l'utilisateur
Les fichiers Docker pour Ubuntu et Debian sont inclus dans ce document :
IronXL Linux Docker Installation Essentials (en anglais)
Utiliser notre paquetage NuGet
Nous recommandons d'utiliser leIronXL NuGet Package il fonctionne pour le développement sur Windows, macOS et Linux.
Install-Package IronXL.Excel
Ubuntu Linux DockerFiles


Ubuntu 20 avec .NET 5
FROM mcr.microsoft.com/dotnet/runtime:5.0-focal AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:5.0-focal AS build
WORKDIR /src
COPIE["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
POINT D'ENTRÉE["dotnet", "Example.dll"]
Ubuntu 20 avec .NET 3.1 LTS
FROM mcr.microsoft.com/dotnet/runtime:3.1-focal AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:3.1-focal AS build
WORKDIR /src
COPIE["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
POINT D'ENTRÉE["dotnet", "Example.dll"]
Ubuntu 18 avec .NET 3.1 LTS
FROM mcr.microsoft.com/dotnet/runtime:3.1-bionic AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:3.1-bionic AS build
WORKDIR /src
COPIE["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
POINT D'ENTRÉE["dotnet", "Example.dll"]
Debian Linux DockerFiles
Debian 11 avec .NET 5
FROM mcr.microsoft.com/dotnet/aspnet:5.0-bullseye-slim AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:5.0-bullseye-slim AS build
WORKDIR /src
COPIE["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
POINT D'ENTRÉE["dotnet", "Example.dll"]
Debian 11 avec .NET 3.1 LTS
FROM mcr.microsoft.com/dotnet/aspnet:3.1-bullseye-slim AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:3.1-bullseye-slim AS build
WORKDIR /src
COPIE["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
POINT D'ENTRÉE["dotnet", "Example.dll"]
Debian 10 avec .NET 5
FROM mcr.microsoft.com/dotnet/runtime:5.0 AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
COPIE["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
POINT D'ENTRÉE["dotnet", "Example.dll"]
Debian 10 avec .NET 3.1 LTS
FROM mcr.microsoft.com/dotnet/runtime:3.1 AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
WORKDIR /src
COPIE["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
POINT D'ENTRÉE["dotnet", "Example.dll"]
CentOS 7 avec .NET 3.1 LTS
FROM centos:7 AS base
WORKDIR /app
RUN yum install sudo -y
RUN sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
RUN 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
RUN sudo yum update -y
WORKDIR /src
COPIE["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
POINT D'ENTRÉE["dotnet", "Example.dll"]
CentOS 8 avec .NET 3.1 LTS
FROM centos:8 AS base
WORKDIR /app
RUN yum install sudo -y
RUN sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
RUN 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
RUN sudo yum update -y
WORKDIR /src
COPIE["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
POINT D'ENTRÉE["dotnet", "Example.dll"]