Mise en place d'IronXL dans des conteneurs Docker

Chaknith Bin
Chaknith Bin
janvier 18, 2022
Mise à jour octobre 20, 2024
Partager:
This article was translated from English: Does it need improvement?
Translated
View the article in English

VouloirLire, éditer &amp ; 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.

Docker L'azur Linux Amazon Fenêtres

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

Docker Ubuntu

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"]
Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.