איך להריץ Aspose.CAD ב-Docker
דרישות מקדימות
- Docker חייב להיות מותקן במערכת שלך. למידע על איך להתקין Docker על Windows או Mac, עיין בקישורים בסעיף “ראו גם”.
- Visual Studio 2022.
- SDK של NET 6 משמש בדוגמה.
אפליקציית Hello World
בדוגמה זו, אתה יוצר אפליקציית קונסול פשוטה של Hello World שמציירת אליפסה ושומרת אותה כבתמונה. לאחר מכן ניתן לבנות ולהריץ את האפליקציה ב-Docker.
יצירת אפליקציית הקונסול
כדי ליצור את תוכנית Hello World, עקוב אחרי הצעדים מטה:
- לאחר ש-Docker מותקן, ודא שהוא משתמש בקונטיינרים של Linux (ברירת מחדל). אם יש צורך, בחר באופציה “Switch to Linux containers” מתפריט Docker Desktop.
- ב-Visual Studio, צור אפליקציית קונסול NET 6.
- התקן את הגרסה האחרונה של Aspose.CAD מ-NuGet.
- מכיוון שהאפליקציה תורץ על Linux, ייתכן שצריך להתקין גופנים נוספים. אפשר להעדיף את ttf-mscorefonts-installer.
- כאשר כל התלויות הדרושות נוספו, כתוב תוכנית פשוטה שמייצרת אליפסה ושומרת אותה כבתמונה:
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. פתח את חלון הפקודות המועדף עליך, שנה את התיקיה לתיקיה שבה נמצאת האפליקציה (תיקיה שבה ממוקם קובץ הפתרון ואת ה-Dockerfile) והרץ את הפקודה הבאה:
docker build -t dockerfile .
בפעם הראשונה שהפקודה הזו מתקיימת, זה עשוי לקחת יותר זמן, מכיוון ש-Docker צריך להוריד את התמונות הנדרשות. ברגע שהפקודה הקודמת הושלמה, הרץ את הפקודה הבאה:
docker run --mount type=bind,source=C:\Temp,target=/app/TestOut --rm dockerfile from Docker
דוגמאות נוספות
לעוד דוגמאות על איך ניתן להשתמש ב-Aspose.CAD ב-Docker, ראה את דוגמאות.