IRONSOFTWAREHOME

Configuration d'IronXL dans des conteneurs Docker

Curtis Chau
Curtis Chau
Updated: 22 avril 2026

Vous souhaitez lire, modifier et créer des fichiers Excel à l'aide de C# ?

IronXL prend désormais entièrement en charge Docker, y compris les conteneurs Docker Azure pour Linux et Windows.

DockerAzureLinuxAmazonWindows

Pourquoi utiliser Docker ?

Docker permet aux développeurs de facilement empaqueter, déployer et exécuter n'importe quelle application sous la forme d'un conteneur léger, portable et autonome, capable de fonctionner pratiquement partout.

IronXL et Linux Primer

Si vous découvrez Docker avec .NET, nous vous recommandons cet excellent article sur la configuration du débogage Docker et l'intégration avec les projets Visual Studio. https://docs.microsoft.com/en-us/visualstudio/containers/edit-and-refresh?view=vs-2019

Nous vous recommandons également vivement de lire notre Guide d'installation et de compatibilité d'IronXL sous 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 [Actuellement la distribution Linux par défaut de Microsoft Azure]
  • CentOS 7
  • CentOS 8

Nous recommandons d'utiliser les images Docker officielles de Microsoft. D'autres distributions Linux sont partiellement prises en charge, mais peuvent nécessiter une configuration manuelle à l'aide de apt-get. Consultez notre guide " Configuration manuelle sous Linux ".

Des fichiers Docker fonctionnels pour Ubuntu et Debian sont inclus dans ce document :

Les bases de l'installation d'IronXL sur Linux avec Docker

Utilisez notre package NuGet

Nous recommandons d'utiliser le package NuGet IronXL. Elle fonctionne lors du développement sous Windows, macOS et Linux.

PM > Install-Package IronXL.Excel

Fichiers Docker pour Ubuntu Linux

DockerUbuntu

Ubuntu 20 avec .NET 5

# Base runtime image (Ubuntu 20 with .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:5.0-focal AS base
WORKDIR /app

# Base development image (Ubuntu 20 with .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:5.0-focal AS build
WORKDIR /src

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Run app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]
Text

Ubuntu 20 avec .NET 3.1 LTS

# Base runtime image (Ubuntu 20 with .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:3.1-focal AS base
WORKDIR /app

# Base development image (Ubuntu 20 with .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:3.1-focal AS build
WORKDIR /src

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Run app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]
Text

Ubuntu 18 avec .NET 3.1 LTS

# Base runtime image (Ubuntu 18 with .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:3.1-bionic AS base
WORKDIR /app

# Base development image (Ubuntu 18 with .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:3.1-bionic AS build
WORKDIR /src

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Run app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]
Text

Fichiers Docker pour Debian Linux

Debian 11 avec .NET 5

# Base runtime image (Debian 10 with .NET runtime)
FROM mcr.microsoft.com/dotnet/aspnet:5.0-bullseye-slim AS base
WORKDIR /app

# Base development image (Debian 10 with .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:5.0-bullseye-slim AS build
WORKDIR /src

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Run app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]
Text

Debian 11 avec .NET 3.1 LTS

# Base runtime image (Debian 10 with .NET runtime)
FROM mcr.microsoft.com/dotnet/aspnet:3.1-bullseye-slim AS base
WORKDIR /app

# Base development image (Debian 10 with .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:3.1-bullseye-slim AS build
WORKDIR /src

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Run app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]
Text

Debian 10 avec .NET 5

# Base runtime image (Debian 10 with .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:5.0 AS base
WORKDIR /app

# Base development image (Debian 10 with .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Run app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]
Text

Debian 10 avec .NET 3.1 LTS

# Base runtime image (Debian 10 with .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:3.1 AS base
WORKDIR /app

# Base development image (Debian 10 with .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
WORKDIR /src

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Run app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]
Text

CentOS 7 avec .NET 3.1 LTS

# Base runtime image (CentOS 7)
FROM centos:7 AS base
WORKDIR /app

# Install necessary packages
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

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM base AS publish
WORKDIR /src
COPY . .
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Run app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]
Text

CentOS 8 avec .NET 3.1 LTS

# Base runtime image (CentOS 8)
FROM centos:8 AS base
WORKDIR /app

# Install necessary packages
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

# Restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"

# Build project
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

# Publish project
FROM base AS publish
WORKDIR /src
COPY . .
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

# Run app
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]
Text

Questions Fréquemment Posées

Comment puis-je configurer IronXL dans un conteneur Docker ?

Pour configurer IronXL dans un conteneur Docker, vous devez utiliser le package NuGet IronXL, qui est compatible avec Windows, macOS et Linux. Installez-le en utilisant la commande : dotnet add package IronXL. Pour Docker, intégrez le package dans votre Dockerfile et assurez-vous que votre application peut accéder aux bibliothèques et dépendances nécessaires.

Quels sont les avantages d'utiliser Docker pour les applications Excel ?

Docker vous permet de packager, livrer et exécuter des applications Excel sous forme de conteneurs légers et portables, garantissant cohérence et efficacité à travers différents environnements. Cela aide à maintenir un environnement de développement et de production stable et reproductible.

Quelles distributions Linux fonctionnent le mieux avec IronXL dans Docker ?

Les distributions Linux recommandées pour configurer IronXL dans Docker sont Ubuntu 18, Ubuntu 20, Debian 10, Debian 11, CentOS 7 et CentOS 8. Ces distributions fournissent un environnement stable pour les conteneurs Docker exécutant des applications Excel.

Puis-je utiliser IronXL dans des conteneurs Docker sous Windows et Linux ?

Oui, IronXL prend en charge les conteneurs Docker sur les plates-formes Windows et Linux. Cela comprend les conteneurs hébergés sur Azure, permettant des options de déploiement flexibles.

Quelles images Docker sont recommandées pour les applications .NET utilisant IronXL ?

Pour les applications .NET utilisant IronXL, il est recommandé d'utiliser les images Docker officielles de Microsoft pour le runtime et le SDK .NET. Ces images sont optimisées pour les applications .NET et peuvent être trouvées sur Docker Hub.

Comment puis-je dépanner les problèmes avec IronXL dans un environnement Docker ?

Si vous rencontrez des problèmes avec IronXL dans Docker, assurez-vous que toutes les dépendances sont correctement installées au sein de votre conteneur Docker. Vérifiez la configuration de votre Dockerfile et assurez-vous que la bonne version de .NET est utilisée. Consultez la documentation d'IronXL et les guides officiels de dépannage de Docker pour plus d'aide.

Quelles ressources sont disponibles pour en apprendre davantage sur l'intégration de Docker et d'IronXL ?

Pour en savoir plus sur l'intégration de Docker et d'IronXL, consultez la documentation de Microsoft sur Docker for .NET et les projets Visual Studio. De plus, le guide de configuration Linux d'IronXL fournit des informations précieuses pour la configuration des environnements Docker.

Can IronXL be used in a Red Hat environment with Docker?

Yes, IronXL can be used in Docker containers running on RHEL (Red Hat Enterprise Linux) using Red Hat's Universal Base Image (UBI) for .NET 8. This allows deployments without needing a Red Hat subscription, ensuring compatibility with current .NET releases.

What should I do if I face issues with other Linux distributions using IronXL in Docker?

If you encounter issues with other Linux distributions, you may need to configure them manually using `apt-get`. Refer to the IronXL Linux Manual Setup guide for detailed steps.

Where can I find more resources for setting up IronXL in Docker with .NET?

You can find additional resources in the IronXL Linux Setup and Compatibility Guide, and by exploring articles about Docker debugging and Visual Studio integration provided as recommendations on the web page.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Prêt à commencer?

Nuget Downloads 2,237,574Version :2026.9vient de sortir

Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez "IronXL"
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

  1. Téléchargez et dézippez IronXL dans un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'Explorateur de solutions de Visual Studio, cliquez avec le bouton droit sur Références. Sélectionnez Parcourir, "IronXL.dll"

Licences à partir de $999

Vous avez une question ? Contactez notre équipe de développement.

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise