Mise en place d'IronXL dans des conteneurs Docker

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

Vouloir Lire, é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 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

Docker Ubuntu

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"]