Einrichten von IronXL in Docker Containern

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

Möchten SieLesen, Bearbeiten & Erstellen von Excel-Tabellendateien mit C#?

IronXL unterstützt jetzt vollständig Docker, einschließlich Azure Docker Containers für Linux und Windows.

Docker Azurblau Linux Amazon Windows

Warum Docker verwenden?

Docker ermöglicht es Entwicklern, jede Anwendung als leichtgewichtigen, portablen und autarken Container zu verpacken, auszuliefern und auszuführen, der praktisch überall laufen kann.

IronXL und Linux-Fibel

Wenn Docker mit .NET für Sie neu ist, empfehlen wir Ihnen diesen ausgezeichneten Artikel über die Einrichtung von Docker-Debugging und Integration mit Visual Studio-Projekten. https://docs.microsoft.com/en-us/visualstudio/containers/edit-and-refresh?view=vs-2019

Wir empfehlen Ihnen auch die Lektüre unsererIronXL Linux Einrichtungs- und Kompatibilitätshandbuch

Empfohlene Linux-Docker-Distributionen

Wir empfehlen die unten aufgeführten aktuellen 64-Bit-Linux-Betriebssysteme für die "einfache Konfiguration" von IronPDF.

  • Ubuntu 20
  • Ubuntu 18
  • Debian 11
  • Debian 10 [Derzeit ist die Microsoft Azure Standard-Linux-Distro]
  • CentOS 7
  • CentOS 8

    Wir empfehlen die Verwendung von MicrosoftsOffizielle Docker-Bilder . Andere Linux-Distributionen werden zum Teil unterstützt, erfordern aber möglicherweise eine manuelle Konfiguration mit apt-get. Siehe unser "Linux Manuelle Einrichtung" Leitfaden

    Funktionierende Docker-Dateien für Ubuntu und Debian sind in diesem Dokument enthalten:

IronXL Linux Docker Installation Essentials

Verwenden Sie unser NuGet-Paket

Wir empfehlen die Verwendung desIronXL NuGet-Paket funktioniert bei der Entwicklung unter Windows, macOS und Linux.

Install-Package IronXL.Excel

Ubuntu Linux DockerFiles

Docker Ubuntu

Ubuntu 20 mit .NET 5

basis-Laufzeit-Image (Ubuntu 20 mit .NET-Laufzeit)

FROM mcr.microsoft.com/dotnet/runtime:5.0-focal AS base     WORKDIR /app

basis-Entwicklungsabbild (Ubuntu 20 mit .NET SDK)

FROM mcr.microsoft.com/dotnet/sdk:5.0-focal AS build     WORKDIR /src

nuGet-Pakete wiederherstellen

KOPIEREN["Beispiel/Beispiel.csproj", "Beispiel/"]     RUN dotnet restore "Beispiel/Beispiel.csproj"

projekt erstellen

KOPIE . .     WORKDIR "/src/Beispiel"     RUN dotnet build "Beispiel.csproj" -c Release -o /app/build

projekt veröffentlichen

FROM build AS publish     RUN dotnet publish "Beispiel.csproj" -c Release -o /app/publish

anwendung ausführen

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

Ubuntu 20 mit .NET 3.1 LTS

basis-Laufzeit-Image (Ubuntu 20 mit .NET-Laufzeit)

FROM mcr.microsoft.com/dotnet/runtime:3.1-focal AS base     WORKDIR /app

basis-Entwicklungsabbild (Ubuntu 20 mit .NET SDK)

FROM mcr.microsoft.com/dotnet/sdk:3.1-focal AS build     WORKDIR /src

nuGet-Pakete wiederherstellen

KOPIEREN["Beispiel/Beispiel.csproj", "Beispiel/"]     RUN dotnet restore "Beispiel/Beispiel.csproj"

projekt erstellen

KOPIE . .     WORKDIR "/src/Beispiel"     RUN dotnet build "Beispiel.csproj" -c Release -o /app/build

projekt veröffentlichen

FROM build AS publish     RUN dotnet publish "Beispiel.csproj" -c Release -o /app/publish

anwendung ausführen

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

Ubuntu 18 mit .NET 3.1 LTS

basis-Laufzeit-Image (Ubuntu 18 mit .NET-Laufzeit)

FROM mcr.microsoft.com/dotnet/runtime:3.1-bionic AS base     WORKDIR /app

basis-Entwicklungsabbild (Ubuntu 18 mit .NET SDK)

FROM mcr.microsoft.com/dotnet/sdk:3.1-bionic AS build     WORKDIR /src

nuGet-Pakete wiederherstellen

KOPIEREN["Beispiel/Beispiel.csproj", "Beispiel/"]     RUN dotnet restore "Beispiel/Beispiel.csproj"

projekt erstellen

KOPIE . .     WORKDIR "/src/Beispiel"     RUN dotnet build "Beispiel.csproj" -c Release -o /app/build

projekt veröffentlichen

FROM build AS publish     RUN dotnet publish "Beispiel.csproj" -c Release -o /app/publish

anwendung ausführen

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

Debian Linux DockerFiles

Debian 11 mit .NET 5

basis-Laufzeit-Image (Debian 10 mit .NET-Laufzeit)

FROM mcr.microsoft.com/dotnet/aspnet:5.0-bullseye-slim AS base     WORKDIR /app

basis-Entwicklungs-Image (Debian 10 mit .NET SDK)

FROM mcr.microsoft.com/dotnet/sdk:5.0-bullseye-slim AS build     WORKDIR /src

nuGet-Pakete wiederherstellen

KOPIEREN["Beispiel/Beispiel.csproj", "Beispiel/"]     RUN dotnet restore "Beispiel/Beispiel.csproj"

projekt erstellen

KOPIE . .     WORKDIR "/src/Beispiel"     RUN dotnet build "Beispiel.csproj" -c Release -o /app/build

projekt veröffentlichen

FROM build AS publish     RUN dotnet publish "Beispiel.csproj" -c Release -o /app/publish

anwendung ausführen

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

Debian 11 mit .NET 3.1 LTS

basis-Laufzeit-Image (Debian 10 mit .NET-Laufzeit)

FROM mcr.microsoft.com/dotnet/aspnet:3.1-bullseye-slim AS base     WORKDIR /app

basis-Entwicklungs-Image (Debian 10 mit .NET SDK)

FROM mcr.microsoft.com/dotnet/sdk:3.1-bullseye-slim AS build     WORKDIR /src

nuGet-Pakete wiederherstellen

KOPIEREN["Beispiel/Beispiel.csproj", "Beispiel/"]     RUN dotnet restore "Beispiel/Beispiel.csproj"

projekt erstellen

KOPIE . .     WORKDIR "/src/Beispiel"     RUN dotnet build "Beispiel.csproj" -c Release -o /app/build

projekt veröffentlichen

FROM build AS publish     RUN dotnet publish "Beispiel.csproj" -c Release -o /app/publish

anwendung ausführen

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

Debian 10 mit .NET 5

basis-Laufzeit-Image (Debian 10 mit .NET-Laufzeit)

FROM mcr.microsoft.com/dotnet/runtime:5.0 AS base     WORKDIR /app

basis-Entwicklungs-Image (Debian 10 mit .NET SDK)

FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build     WORKDIR /src

nuGet-Pakete wiederherstellen

KOPIEREN["Beispiel/Beispiel.csproj", "Beispiel/"]     RUN dotnet restore "Beispiel/Beispiel.csproj"

projekt erstellen

KOPIE . .     WORKDIR "/src/Beispiel"     RUN dotnet build "Beispiel.csproj" -c Release -o /app/build

projekt veröffentlichen

FROM build AS publish     RUN dotnet publish "Beispiel.csproj" -c Release -o /app/publish

anwendung ausführen

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

Debian 10 mit .NET 3.1 LTS

basis-Laufzeit-Image (Debian 10 mit .NET-Laufzeit)

FROM mcr.microsoft.com/dotnet/runtime:3.1 AS base     WORKDIR /app

basis-Entwicklungs-Image (Debian 10 mit .NET SDK)

FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build     WORKDIR /src

nuGet-Pakete wiederherstellen

KOPIEREN["Beispiel/Beispiel.csproj", "Beispiel/"]     RUN dotnet restore "Beispiel/Beispiel.csproj"

projekt erstellen

KOPIE . .     WORKDIR "/src/Beispiel"     RUN dotnet build "Beispiel.csproj" -c Release -o /app/build

projekt veröffentlichen

FROM build AS publish     RUN dotnet publish "Beispiel.csproj" -c Release -o /app/publish

anwendung ausführen

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

CentOS 7 mit .NET 3.1 LTS

basis-Laufzeit-Image (CentOS 7)

FROM centos:7 AS base     WORKDIR /app

notwendige Pakete installieren

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

nuGet-Pakete wiederherstellen

KOPIEREN["Beispiel/Beispiel.csproj", "Beispiel/"]     RUN dotnet restore "Beispiel/Beispiel.csproj"

projekt erstellen

KOPIE . .     WORKDIR "/src/Beispiel"     RUN dotnet build "Beispiel.csproj" -c Release -o /app/build

projekt veröffentlichen

FROM build AS publish     RUN dotnet publish "Beispiel.csproj" -c Release -o /app/publish

anwendung ausführen

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

CentOS 8 mit .NET 3.1 LTS

basis-Laufzeit-Image (CentOS 8)

FROM centos:8 AS base     WORKDIR /app

notwendige Pakete installieren

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

nuGet-Pakete wiederherstellen

KOPIEREN["Beispiel/Beispiel.csproj", "Beispiel/"]     RUN dotnet restore "Beispiel/Beispiel.csproj"

projekt erstellen

KOPIE . .     WORKDIR "/src/Beispiel"     RUN dotnet build "Beispiel.csproj" -c Release -o /app/build

projekt veröffentlichen

FROM build AS publish     RUN dotnet publish "Beispiel.csproj" -c Release -o /app/publish

anwendung ausführen

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