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 สำหรับ .NET Standard ขึ้นอยู่กับ SkiaSharp นี่เป็นการจำกัดอิมเมจที่ Aspose.Words สามารถเรียกใช้ได้ดังต่อไปนี้:
SkiaSharp ใช้งานไม่ได้กับ Windows Nano Server เนื่องจากขาดการขึ้นต่อกันแบบเนทีฟบางอย่าง ซึ่งเป็นปัญหาที่ทราบแล้วใน SkiaSharp ปัญหาจะได้รับการแก้ไขใน SkiaSharp เวอร์ชัน 1.68.1.1 หากคุณต้องการเรียกใช้ Aspose.Words ในคอนเทนเนอร์ Windows ให้ใช้อิมเมจพื้นฐาน .NET Framework กับ Aspose.Words เวอร์ชัน .NET Framework ซึ่งไม่ได้ขึ้นอยู่กับ 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.