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,那麼你可能對在 Docker 容器中利用 Aspose.Words 有興趣。
Docker 必須在你的系統上安裝。 在如何將 Docker 安裝到 Windows 或 Mac的資訊請參閱另見部分中的連結。
此外,請注意示例中使用的 Visual Studio 2017,.NET Core 2.2 SDK。
在這個例子中,你會創造一個簡單的Hello World主控台應用程式,它會建立一份Hello World!文件並儲存於所有支援的儲存格式中。 應用程式可於 Docker 中建造並運行。
要創建『Hello World』的程式,請按照下列步驟:
SkiaSharp.NativeAssets.Linux。注意TestOut資料夹被指定為儲存輸出文件的輸出 폴더。 當在 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 的官方圖像提供給:
“- Debian 9 和 10” “- Ubuntu 18.04 和 19.04” – Alpine 3.7 和 3.9 “- Windows 納諾 Server”
要使用圖形,Aspose.Words for .NET Standard 依賴於 SkiaSharp。 這限制了 Aspose.Words 能跑的圖像到以下:
SkiaSharp 在 Windows Nano Server 上不工作,因為一些本機依賴項缺失. which is a known issue in SkiaSharp 這個問題將在 SkiaSharp 的 1.68.1.1 版本中解決。 如果您需要在 Aspose.Words 容器中運行 Windows,請使用 .NET Framework 基底圖像和 Aspose.Words 的 .NET Framework 版本,該版本不依賴於 SkiaSharp。
SkiaSharp是一個封裝在原生 Skia 庫上的外掛。 SkiaSharp NuGet 套件中提供的以下運行時:
“- osx” “- tizen-armel” “- tizen-x86”
若要讓它能在 Linux 中运行,您應該使用額外的 NuGet 套件和相应的本机资源,例如本机 Skia 库构建,以下列出了:
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.