วิธีการรัน Aspose.CAD ใน Docker
สิ่งที่ต้องมี
- ต้องติดตั้ง Docker บนระบบของคุณ สำหรับข้อมูลเกี่ยวกับวิธีการติดตั้ง Docker บน Windows หรือ Mac โปรดดูที่ลิงก์ในส่วน “ดูเพิ่มเติม”
- Visual Studio 2022
- NET 6 SDK ถูกใช้ในตัวอย่างนี้
แอปพลิเคชัน Hello World
ในตัวอย่างนี้ คุณจะสร้างแอปพลิเคชัน Console Hello World ง่าย ๆ ที่วาดวงรีและบันทึกเป็นภาพ แอปพลิเคชันสามารถสร้างและรันใน Docker ได้
การสร้างแอปพลิเคชัน Console
เพื่อสร้างโปรแกรม Hello World ให้ปฏิบัติตามขั้นตอนด้านล่าง:
- เมื่อติดตั้ง Docker เสร็จสมบูรณ์ ให้แน่ใจว่าได้เลือกใช้ Linux Containers (ค่าเริ่มต้น) ถ้าจำเป็นให้เลือกตัวเลือก Switch to Linux containers จากเมนู Docker Desktop
- ใน Visual Studio ให้สร้างแอปพลิเคชัน Console NET 6
- ติดตั้ง Aspose.CAD เวอร์ชันล่าสุดจาก NuGet
- เนื่องจากแอปพลิเคชันจะทำงานบน Linux คุณอาจต้องติดตั้งแบบอักษรเพิ่มเติม คุณอาจต้องการ ttf-mscorefonts-installer
- เมื่อเพิ่ม dependencies ที่จำเป็นทั้งหมดแล้ว ให้เขียนโปรแกรมง่าย ๆ ที่สร้างวงรีและบันทึกเป็นภาพ:
using (var img = Aspose.CAD.Image.Load(System.IO.Directory.GetCurrentDirectory() + "/input.dxf"))
{
img.Save(Path.Combine("TestOut", "output.png"), new Aspose.CAD.ImageOptions.PngOptions());
}
โปรดทราบว่าหมวด “TestOut” ถูกกำหนดเป็นโฟลเดอร์ผลลัพธ์สำหรับการบันทึกเอกสารที่สร้างขึ้น เมื่อรันแอปพลิเคชันใน Docker โฟลเดอร์ในเครื่องโฮสต์จะถูกเชื่อมต่อกับโฟลเดอร์นี้ในคอนเทนเนอร์ ซึ่งจะทำให้คุณสามารถดูผลลัพธ์ที่สร้างโดย Aspose.CAD ในคอนเทนเนอร์ Docker ได้อย่างง่ายดาย
การกำหนดค่า Dockerfile
ขั้นตอนถัดไปคือการสร้างและกำหนดค่า Dockerfile
- สร้าง Dockerfile และวางไว้ข้างไฟล์โซลูชันของแอปพลิเคชันของคุณ เก็บชื่อไฟล์นี้โดยไม่ต้องมีนามสกุล (ค่าเริ่มต้น)
- ใน Dockerfile ให้ระบุ:
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS builder
WORKDIR /app
COPY /Aspose.CAD.Docker.Sample/*.csproj ./Aspose.CAD.Docker.Sample/
RUN dotnet restore ./Aspose.CAD.Docker.Sample/
COPY /Aspose.CAD.Docker.Sample ./Aspose.CAD.Docker.Sample/
WORKDIR /app/Aspose.CAD.Docker.Sample
RUN dotnet publish -c Release -o publish
FROM mcr.microsoft.com/dotnet/aspnet:6.0
WORKDIR /app
COPY --from=builder /app/Aspose.CAD.Docker.Sample/publish ./
RUN apt-get update
RUN apt-get install -y apt-utils
RUN apt-get install -y libgdiplus
RUN apt-get install -y libc6-dev
RUN ln -s /usr/lib/libgdiplus.so/usr/lib/gdiplus.dll
RUN sed -i'.bak' 's/$/ contrib/' /etc/apt/sources.list
RUN apt-get update; apt-get install -y ttf-mscorefonts-installer fontconfig
RUN apt-get install fonts-freefont-ttf
ENV ASPNETCORE_URLS=http://+:80
ENV ASPNETCORE_ENVIRONMENT=Release
EXPOSE 80
ENTRYPOINT ["dotnet", "Aspose.CAD.Docker.Sample.dll"]
ด้านบนนี้คือ Dockerfile ง่าย ๆ ซึ่งประกอบด้วยคำสั่งดังต่อไปนี้:
- ภาพ SDK ที่จะใช้งาน ที่นี่คือภาพ Net 6 Docker จะดาวน์โหลดเมื่อเริ่มสร้าง ภาพ SDK จะถูกระบุเป็นแท็ก
- หลังจากนั้น คุณอาจต้องติดตั้ง แบบอักษร เนื่องจากภาพ SDK มีแบบอักษรน้อยมาก นอกจากนี้ คุณยังสามารถใช้แบบอักษรในท้องถิ่นที่คัดลอกจากภาพ docker ได้
- โฟลเดอร์ทำงาน ที่ระบุไว้ในบรรทัดถัดไป
- คำสั่งในการคัดลอกทุกอย่างไปยังคอนเทนเนอร์ ทำการเผยแพร่แอปพลิเคชัน และระบุจุดเริ่มต้น
การสร้างและรันแอปพลิเคชันใน Docker
ในตอนนี้แอปพลิเคชันสามารถสร้างและรันใน Docker ได้ เปิด Command Prompt ที่คุณชื่นชอบ เปลี่ยนไปยังโฟลเดอร์ที่มีแอปพลิเคชัน (โฟลเดอร์ที่มีไฟล์โซลูชันและ Dockerfile อยู่) และรันคำสั่งต่อไปนี้:
docker build -t dockerfile .
ครั้งแรกที่สั่งคำสั่งนี้อาจใช้เวลานานขึ้น เนื่องจาก Docker ต้องดาวน์โหลดภาพที่ต้องการ เมื่อคำสั่งก่อนหน้าสำเร็จแล้ว ให้รันคำสั่งต่อไปนี้:
docker run --mount type=bind,source=C:\Temp,target=/app/TestOut --rm dockerfile from Docker
ตัวอย่างเพิ่มเติม
สำหรับตัวอย่างเพิ่มเติมเกี่ยวกับวิธีการใช้ Aspose.CAD ใน Docker โปรดดูที่ ตัวอย่าง
ดูเพิ่มเติม
- ติดตั้ง Docker Desktop บน Windows
- ติดตั้ง Docker Desktop บน Mac
- Visual Studio 2022, NET 6 SDK
- เปลี่ยนไปใช้ Linux containers ตัวเลือก
- ข้อมูลเพิ่มเติมเกี่ยวกับ .NET Core SDK