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 بسيط يُنشئ رسالة “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 من أجل:
للعمل مع الرسومات، يعتمد Aspose.Words for .NET Standard على SkiaSharp. وهذا يحد من إمكانية تشغيل الصور Aspose.Words على ما يلي:
SkiaSharp لا يعمل على Windows Nano Server بسبب عدم وجود بعض التبعيات الأصلية، وهي مشكلة معروفة في SkiaSharp. سيتم حل المشكلة في الإصدار 1.68.1.1 من SkiaSharp. إذا كنت بحاجة إلى تشغيل Aspose.Words في حاوية Windows، فاستخدم صورة .NET Framework الأساسية مع إصدار .NET Framework من Aspose.Words، والذي لا يعتمد على SkiaSharp.
SkiaSharp عبارة عن غلاف حول مكتبة Skia الأصلية. يتم توفير أوقات التشغيل التالية في حزمة SkiaSharp NuGet:
لتشغيله في 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.