Mise en place d'IronXL dans des conteneurs Docker
Vouloir Lire, é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 notre Guide 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 logiciel Images 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 le IronXL 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
image d'exécution de base (Ubuntu 20 avec l'exécution .NET)
FROM mcr.microsoft.com/dotnet/runtime:5.0-focal AS base
WORKDIR /app
image de développement de base (Ubuntu 20 avec .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:5.0-focal AS build
WORKDIR /src
restaurer les paquets NuGet
COPIE ["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
construire un projet
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
publier un projet
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
exécuter l'application
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
image d'exécution de base (Ubuntu 20 avec l'exécution .NET)
FROM mcr.microsoft.com/dotnet/runtime:3.1-focal AS base
WORKDIR /app
image de développement de base (Ubuntu 20 avec .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:3.1-focal AS build
WORKDIR /src
restaurer les paquets NuGet
COPIE ["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
construire un projet
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
publier un projet
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
exécuter l'application
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
image d'exécution de base (Ubuntu 18 avec l'exécution .NET)
FROM mcr.microsoft.com/dotnet/runtime:3.1-bionic AS base
WORKDIR /app
image de développement de base (Ubuntu 18 avec .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:3.1-bionic AS build
WORKDIR /src
restaurer les paquets NuGet
COPIE ["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
construire un projet
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
publier un projet
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
exécuter l'application
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
image d'exécution de base (Debian 10 avec l'exécution .NET)
FROM mcr.microsoft.com/dotnet/aspnet:5.0-bullseye-slim AS base
WORKDIR /app
image de développement de base (Debian 10 avec .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:5.0-bullseye-slim AS build
WORKDIR /src
restaurer les paquets NuGet
COPIE ["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
construire un projet
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
publier un projet
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
exécuter l'application
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
image d'exécution de base (Debian 10 avec l'exécution .NET)
FROM mcr.microsoft.com/dotnet/aspnet:3.1-bullseye-slim AS base
WORKDIR /app
image de développement de base (Debian 10 avec .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:3.1-bullseye-slim AS build
WORKDIR /src
restaurer les paquets NuGet
COPIE ["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
construire un projet
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
publier un projet
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
exécuter l'application
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
POINT D'ENTRÉE ["dotnet", "Example.dll"]
Debian 10 avec .NET 5
image d'exécution de base (Debian 10 avec l'exécution .NET)
FROM mcr.microsoft.com/dotnet/runtime:5.0 AS base
WORKDIR /app
image de développement de base (Debian 10 avec .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
restaurer les paquets NuGet
COPIE ["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
construire un projet
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
publier un projet
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
exécuter l'application
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
image d'exécution de base (Debian 10 avec l'exécution .NET)
FROM mcr.microsoft.com/dotnet/runtime:3.1 AS base
WORKDIR /app
image de développement de base (Debian 10 avec .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
WORKDIR /src
restaurer les paquets NuGet
COPIE ["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
construire un projet
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
publier un projet
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
exécuter l'application
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
image d'exécution de base (CentOS 7)
FROM centos:7 AS base
WORKDIR /app
installer les paquets nécessaires
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
restaurer les paquets NuGet
COPIE ["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
construire un projet
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
publier un projet
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
exécuter l'application
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
image d'exécution de base (CentOS 8)
FROM centos:8 AS base
WORKDIR /app
installer les paquets nécessaires
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
restaurer les paquets NuGet
COPIE ["Exemple/Exemple.csproj", "Exemple/"]
RUN dotnet restore "Exemple/Exemple.csproj"
construire un projet
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
publier un projet
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
exécuter l'application
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
POINT D'ENTRÉE ["dotnet", "Example.dll"]