Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Микроуслугите, заедно с контейнеризацията, позволяват лесно да се комбинират технологии. Docker ви позволява лесно да се интегрирате Aspose.Words функционалност във вашето приложение, независимо от това какво е технологията във вашия разработъчен стек.
В случай, че сте насочени към микроуслуги, или ако основната технология във вашия стек не е .NET, C++ или Java, но ти трябва Aspose.Words функционалност или ако вече използвате Docker в стека си, тогава може да се интересуват от използването Aspose.Words в Docker контейнер.
Docker трябва да бъде инсталиран на вашата система. За информация как да инсталирате Docker върху Windows или Mac, се отнасят до линковете в раздел “Вижте също.”
Също така, имайте предвид, че Visual Studio 2017, .NET Core 2, 2 SDK е използван в примера по- долу.
В този пример, можете да създадете просто Hello World конзола приложение, което прави Allo World! да се запази във всички поддържани формати за запис. След това приложението може да бъде изградено и стартирано в Docker.
За да създадете програма Hello World, следвайте стъпките по-долу:
SkiaSharp.NativeAssets.Linux.Имайте предвид, че по-долу е посочено като папка за изход за запазване на изходни документи. При изпълнение на заявлението в Docker папка на хост машината ще бъде монтирана на тази папка в контейнера. Това ще ви позволи лесно да видите изхода, генериран от Aspose.Words в Docker контейнер.
Следващата стъпка е да се създаде и конфигурира 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"]Горното е просто. Dockerfile, която съдържа следните инструкции:
Сега приложението може да бъде построено и работи в Docker. Отваряне на любимата си команда, промяна на директорията в папката с приложението (сгъване, където файлът с решение и Dockerfile са поставени) и изпълняват следната команда:
docker build -t awtest .За първи път тази команда се изпълнява може да отнеме повече време, тъй като Docker трябва да изтеглите необходимите изображения. След като предишната команда е завършена, стартирайте следната команда:
docker run --mount type=bind,source=C:\Temp,target=/TestOut --rm awtest from DockerAspose.Words е на разположение и за двете .NET Framework както и .NET Core. На .NET Core изображенията са много по-малки по размер от .NET Framework изображения, което прави .NET Core по-добрият избор за създаване на микроуслуги и за използване в контейнери. Възможно е да се използват приложения за Linux Docker контейнери (за разполагане на кръстосани платформи), които са по-леки от Windows контейнери.
Официални изображения за .NET Core SDK са предвидени:
За да работи с графики, Aspose.Words вместо .NET Standard зависи от SkiaSharp. Това ограничава изображенията Aspose.Words може да се премине към следното:
SkiaSharp не работи върху Windows Нано Server поради липса на местни зависимости, което е известен проблем в SkiaSharp. Въпросът ще бъде решен в версия 1.68.1.1 на SkiaSharp. Ако искаш да бягаш Aspose.Words в Windows контейнер, използвайте .NET Framework базово изображение с .NET Framework версия на Aspose.Words, което не зависи от SkiaSharp.
SkiaSharp е опаковка около местната библиотека на Ския. В SkiaSharp са предвидени следните времеви интервали NuGet опаковка:
За да го пусна. Linux, трябва да използвате допълнително NuGet пакети със съответните местни активи, като например местни сгради на библиотеката на Ския, изброени по-долу:
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.