Як запустити Aspose.CAD у Docker
Попередні вимоги
- Docker повинен бути встановлений на вашій системі. Для отримання інформації про те, як встановити Docker на Windows або Mac, зверніться до посилань у розділі “Дивіться також”.
- Visual Studio 2022.
- У прикладі використовується .NET 6 SDK.
Додаток Hello World
У цьому прикладі ви створюєте простий консольний додаток Hello World, який малює еліпс і зберігає його як зображення. Додаток потім можна зібрати та запустити в Docker.
Створення консольного додатка
Щоб створити програму Hello World, виконайте наступні кроки:
- Після встановлення Docker переконайтеся, що він використовує контейнери Linux (за замовчуванням). Якщо необхідно, виберіть опцію Переключити на контейнери Linux у меню 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, дивіться приклади.