Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Microservices ermöglichen in Verbindung mit Containerisierung die einfache Kombination von Technologien. Docker ermöglicht Ihnen die einfache Integration der Aspose.Words-Funktionalität in Ihre Anwendung, unabhängig davon, welche Technologie in Ihrem Entwicklungs-Stack enthalten ist.
Wenn Sie auf Microservices abzielen oder wenn die Haupttechnologie in Ihrem Stack nicht .NET, C++ oder Java ist, Sie aber Aspose.Words-Funktionalität benötigen oder wenn Sie bereits Docker in Ihrem Stack verwenden, dann könnten Sie daran interessiert sein, Aspose.Words in einem Docker zu verwenden Container.
Docker muss auf Ihrem System installiert sein. Informationen zur Installation von Docker auf Windows oder Mac finden Sie unter den Links im Abschnitt “Siehe auch”.
Beachten Sie außerdem, dass im unten angegebenen Beispiel Visual Studio 2017, .NET Core 2.2 SDK verwendet wird.
In diesem Beispiel erstellen Sie eine einfache Hello World-Konsolenanwendung, die ein “Hello World!"-Programm erstellt. Dokument und speichert es in allen unterstützten Speicherformaten. Die Anwendung kann dann in Docker erstellt und ausgeführt werden.
Um das Hello World-Programm zu erstellen, führen Sie die folgenden Schritte aus:
SkiaSharp.NativeAssets.Linux.Beachten Sie, dass der Ordner “TestOut” als Ausgabeordner zum Speichern von Ausgabedokumenten angegeben ist. Wenn die Anwendung in Docker ausgeführt wird, wird ein Ordner auf dem Hostcomputer in diesen Ordner im Container eingebunden. Dadurch können Sie die von Aspose.Words generierte Ausgabe problemlos im Docker-Container anzeigen.
Der nächste Schritt besteht darin, das Dockerfile zu erstellen und zu konfigurieren.
FROM mcr.microsoft.com/dotnet/core/sdk:2.2
WORKDIR /app
RUN apt-get update && apt-get install -y libfontconfig1
COPY . ./
RUN dotnet publish -c Release -o out
ENTRYPOINT ["dotnet", "Aspose.Words.Docker.Sample/out/Aspose.Words.Docker.Sample.dll"]Das Obige ist ein einfaches Dockerfile, das die folgenden Anweisungen enthält:
– Das zu verwendende SDK-Image. Hier ist es das .NET Core SDK 2.2-Image. Docker lädt es herunter, wenn der Build ausgeführt wird. Die Version von SDK wird als Tag angegeben.
Jetzt kann die Anwendung in Docker erstellt und ausgeführt werden. Öffnen Sie Ihre bevorzugte Eingabeaufforderung, wechseln Sie in das Verzeichnis mit der Anwendung (Ordner, in dem die Lösungsdatei und die Dockerfile-Datei abgelegt sind) und führen Sie den folgenden Befehl aus:
docker build -t awtest .Bei der ersten Ausführung dieses Befehls kann es länger dauern, da Docker die erforderlichen Bilder herunterladen muss. Führen Sie nach Abschluss des vorherigen Befehls den folgenden Befehl aus:
docker run --mount type=bind,source=C:\Temp,target=/TestOut --rm awtest from DockerAspose.Words ist sowohl für .NET Framework als auch .NET Core verfügbar. Die .NET Core-Bilder sind viel kleiner als .NET Framework-Bilder, was .NET Core zur besseren Wahl für die Erstellung von Microservices und die Verwendung in Containern macht. Es ist möglich, Apps in Linux-Docker-Containern bereitzustellen (für die plattformübergreifende Bereitstellung), die leichter sind als Windows-Container.
Offizielle Bilder für das .NET Core SDK werden bereitgestellt für:
Um mit Grafiken arbeiten zu können, ist Aspose.Words für .NET Standard auf SkiaSharp angewiesen. Dies beschränkt die Anzahl der Bilder, auf denen Aspose.Words ausgeführt werden kann, auf Folgendes:
SkiaSharp funktioniert nicht auf Windows Nano Server, da einige native Abhängigkeiten ( Dies ist ein bekanntes Problem in SkiaSharp) fehlen. Das Problem wird in der Version 1.68.1.1 von SkiaSharp behoben. Wenn Sie Aspose.Words in einem Windows-Container ausführen müssen, verwenden Sie das .NET Framework-Basisimage mit der .NET Framework-Version von Aspose.Words, die nicht von SkiaSharp abhängt.
SkiaSharp ist ein Wrapper um die native Skia-Bibliothek. Die folgenden Laufzeiten werden im SkiaSharp NuGet-Paket bereitgestellt:
Um es in Linux auszuführen, sollten Sie zusätzliche NuGet-Pakete mit den entsprechenden nativen Assets verwenden, wie z. B. native Builds der Skia-Bibliothek, die unten aufgeführt sind:
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
WORKDIR /app
\# copy csproj and restore as distinct layers
COPY Aspose.Words.Docker.Sample/*.csproj ./Aspose.Words.Docker.Sample/
WORKDIR /app/Aspose.Words.Docker.Sample
RUN dotnet restore
\# copy and publish app and libraries
WORKDIR /app/
COPY Aspose.Words.Docker.Sample/. ./Aspose.Words.Docker.Sample/
WORKDIR /app/Aspose.Words.Docker.Sample
RUN dotnet publish -c Release -o out
\# copy to runtime environment
FROM mcr.microsoft.com/dotnet/core/runtime:2.2 AS runtime
WORKDIR /app
\# libfontconfig1 is required to properly work with fonts in Linux.
RUN apt-get update && apt-get install -y libfontconfig1
RUN apt install libharfbuzz-icu0
COPY --from=build /app/Aspose.Words.Docker.Sample/out ./
ENTRYPOINT ["dotnet", "Aspose.Words.Docker.Sample.dll"]FROM mcr.microsoft.com/dotnet/core/sdk:2.2-bionic AS build
WORKDIR /app
\# copy csproj and restore as distinct layers
COPY Aspose.Words.Docker.Sample/*.csproj ./Aspose.Words.Docker.Sample/
WORKDIR /app/Aspose.Words.Docker.Sample
RUN dotnet restore
\# copy and publish app and libraries
WORKDIR /app/
COPY Aspose.Words.Docker.Sample/. ./Aspose.Words.Docker.Sample/
WORKDIR /app/Aspose.Words.Docker.Sample
RUN dotnet publish -c Release -o out
\# copy to runtime environment
FROM mcr.microsoft.com/dotnet/core/runtime:2.2-bionic AS runtime
WORKDIR /app
\# libfontconfig1 is required to properly work with fonts in Linux.
RUN apt-get update && apt-get install -y libfontconfig1
RUN apt install libharfbuzz-icu0
COPY --from=build /app/Aspose.Words.Docker.Sample/out ./
ENTRYPOINT ["dotnet", "Aspose.Words.Docker.Sample.dll"]FROM mcr.microsoft.com/dotnet/core/sdk:2.2-alpine3.9 AS build
WORKDIR /app
\# copy csproj and restore as distinct layers
COPY Aspose.Words.Docker.Sample/*.csproj ./Aspose.Words.Docker.Sample/
WORKDIR /app/Aspose.Words.Docker.Sample
RUN dotnet restore
\# copy and publish app and libraries
WORKDIR /app/
COPY Aspose.Words.Docker.Sample/. ./Aspose.Words.Docker.Sample/
WORKDIR /app/Aspose.Words.Docker.Sample
RUN dotnet publish -c Release -o out
\# copy to runtime environment
FROM mcr.microsoft.com/dotnet/core/runtime:2.2-alpine3.9 AS runtime
WORKDIR /app
\# fontconfig is required to properly work with fonts in Linux.
RUN apk update && apk upgrade && apk add fontconfig && apk add harfbuzz
COPY --from=build /app/Aspose.Words.Docker.Sample/out ./
ENTRYPOINT ["dotnet", "Aspose.Words.Docker.Sample.dll"]FROM mcr.microsoft.com/dotnet/core/sdk:2.1 AS build
WORKDIR /app
\# copy csproj and restore as distinct layers
COPY Aspose.Words.Docker.Sample/*.csproj ./Aspose.Words.Docker.Sample/
WORKDIR /app/Aspose.Words.Docker.Sample
RUN dotnet restore
\# copy and publish app and libraries
WORKDIR /app/
COPY Aspose.Words.Docker.Sample/. ./Aspose.Words.Docker.Sample/
WORKDIR /app/Aspose.Words.Docker.Sample
RUN dotnet publish -c Release -o out
\# copy to runtime environment
FROM kkamberta/dotnet-21-rhel7 AS runtime
WORKDIR /app
COPY --from=build /app/Aspose.Words.Docker.Sample/out ./
ENTRYPOINT ["/opt/rh/rh-dotnet21/root/usr/bin/dotnet", "Aspose.Words.Docker.Sample.dll"]Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.