Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Mikrousługi w połączeniu z konteneryzacją umożliwiają łatwe łączenie technologii. Docker pozwala łatwo zintegrować funkcjonalność Aspose.Words z aplikacją, niezależnie od tego, jaka technologia znajduje się w stosie programistycznym.
Jeśli celujesz w mikrousługi lub jeśli główną technologią w Twoim stosie nie jest .NET, C++ ani Java, ale potrzebujesz funkcjonalności Aspose.Words, lub jeśli już używasz Docker w swoim stosie, możesz być zainteresowany wykorzystaniem Aspose.Words w Docker pojemnik.
Docker musi być zainstalowany w twoim systemie. Aby uzyskać informacje na temat instalacji Docker na Windows lub Mac, skorzystaj z łączy w sekcji “Zobacz także”.
Należy również pamiętać, że w przykładzie podanym poniżej użyto formatu Visual Studio 2017, .NET Core 2.2 SDK.
W tym przykładzie tworzysz prostą aplikację konsolową Hello World, która tworzy komunikat “Hello World!” dokument i zapisuje go we wszystkich obsługiwanych formatach zapisu. Aplikację można następnie zbudować i uruchomić w formacie Docker.
Aby utworzyć program Hello World, wykonaj poniższe czynności:
SkiaSharp.NativeAssets.Linux.Należy pamiętać, że folder “TestOut” jest określony jako folder wyjściowy do zapisywania dokumentów wyjściowych. Podczas uruchamiania aplikacji w Docker, folder na komputerze hosta zostanie zamontowany do tego folderu w kontenerze. Umożliwi to łatwe przeglądanie danych wyjściowych wygenerowanych przez Aspose.Words w kontenerze Docker.
Następnym krokiem jest utworzenie i skonfigurowanie pliku Dockerfile.
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"]Powyższy jest prostym plikiem Dockerfile, który zawiera następujące instrukcje:
Teraz aplikację można zbudować i uruchomić w Docker. Otwórz swój ulubiony wiersz poleceń, zmień katalog na folder z aplikacją (folder, w którym znajduje się plik rozwiązania i Dockerfile) i uruchom następującą komendę:
docker build -t awtest .Wykonanie tego polecenia po raz pierwszy może zająć więcej czasu, ponieważ Docker musi pobrać wymagane obrazy. Po zakończeniu poprzedniego polecenia uruchom następujące polecenie:
docker run --mount type=bind,source=C:\Temp,target=/TestOut --rm awtest from DockerAspose.Words jest dostępny zarówno w formacie .NET Framework, jak i .NET Core. Obrazy .NET Core mają znacznie mniejszy rozmiar niż obrazy .NET Framework, co sprawia, że .NET Core jest lepszym wyborem do tworzenia mikrousług i do stosowania w kontenerach. Możliwe jest wdrażanie aplikacji w kontenerach Linux Docker (w celu wdrożenia międzyplatformowego), które są lżejsze niż kontenery Windows.
Oficjalne obrazy .NET Core SDK są dostępne dla:
Aby pracować z grafiką, Aspose.Words dla .NET Standard zależy od SkiaSharp. Ogranicza to obrazy, na których można uruchomić Aspose.Words, do następujących:
SkiaSharp nie działa na Windows Nano Server ze względu na brak niektórych natywnych zależności, co jest znanym problemem w Skiasharp. Problem zostanie rozwiązany w wersji 1.68.1.1 Skiasharp. Jeśli chcesz uruchomić Aspose.Words w kontenerze Windows, użyj obrazu podstawowego .NET Framework z wersją Aspose.Words .NET Framework, która nie jest zależna od SkiaSharp.
SkiaSharp to opakowanie natywnej biblioteki Skia. W pakiecie SkiaSharp NuGet dostępne są następujące środowiska wykonawcze:
Aby uruchomić go w Linux, powinieneś użyć dodatkowych pakietów NuGet z odpowiednimi zasobami natywnymi, takimi jak natywne kompilacje biblioteki Skia, wymienione poniżej:
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.