چگونه Aspose.CAD را در Docker اجرا کنیم

پیش‌نیازها

  • Docker باید بر روی سیستم شما نصب شده باشد. برای اطلاعات در مورد نحوه نصب Docker در ویندوز یا مک، به لینک‌های موجود در بخش «همچنین ببینید» مراجعه کنید.
  • Visual Studio 2022.
  • NET 6 SDK در این مثال استفاده شده است.

برنامه Hello World

در این مثال، شما یک برنامه ساده Hello World کنسولی ایجاد می‌کنید که یک بیضی را ترسیم کرده و آن را به عنوان یک تصویر ذخیره می‌کند. سپس این برنامه می‌تواند در Docker ساخته و اجرا شود.

ایجاد برنامه کنسولی

برای ایجاد برنامه Hello World، مراحل زیر را دنبال کنید:

  1. پس از نصب Docker، مطمئن شوید که از کانتینرهای لینوکس استفاده می‌کند (پیش‌فرض). در صورت لزوم، گزینه Switch to Linux containers را از منوی Docker Desktop انتخاب کنید.
  2. در Visual Studio، یک برنامه کنسولی NET 6 ایجاد کنید.
    گفتگوی پروژه برنامه کنسولی NET 6
  3. آخرین نسخه Aspose.CAD را از NuGet نصب کنید.
    Aspose.CAD در NuGet
  4. از آن‌جا که برنامه در لینوکس اجرا خواهد شد، ممکن است نیاز به نصب فونت‌های اضافی داشته باشید. شما می‌توانید ttf-mscorefonts-installer را ترجیح دهید.
  5. هنگامی که تمام وابستگی‌های مورد نیاز اضافه شد، یک برنامه ساده بنویسید که یک بیضی ایجاد کرده و آن را به عنوان یک تصویر ذخیره کند:
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 است.

  1. Dockerfile را ایجاد کرده و آن را در کنار فایل راه حل برنامه خود قرار دهید. این نام فایل را بدون پسوند (پیش‌فرض) نگه دارید.
  2. در 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 ساده وجود دارد که شامل دستورالعمل‌های زیر است:

  • تصویری که باید استفاده شود. در اینجا تصویر 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 استفاده کنید، به نمونه‌ها مراجعه کنید.

همچنین ببینید