Aspose.CAD'i Docker'da Çalıştırma
Ön Koşullar
- Sisteminizde Docker kurulmuş olmalıdır. Docker’ı Windows veya Mac’e nasıl kuracağınız hakkında bilgi için “Ayrıca Bakınız” bölümündeki bağlantılara bakın.
- Visual Studio 2022.
- Örnekte .NET 6 SDK’sı kullanılmıştır.
Merhaba Dünya Uygulaması
Bu örnekte, bir elips çizen ve bunu bir görüntü olarak kaydeden basit bir Merhaba Dünya konsol uygulaması oluşturursunuz. Uygulama, Docker’da oluşturulup çalıştırılabilir.
Konsol Uygulamasını Oluşturma
Merhaba Dünya programını oluşturmak için aşağıdaki adımları izleyin:
- Docker yüklendikten sonra, Linux Konteynerlerini (varsayılan) kullandığından emin olun. Gerekirse, Docker Masaüstü menüsünden Linux konteynerlerine geçiş seçeneğini seçin.
- Visual Studio’da bir .NET 6 konsol uygulaması oluşturun.
- NuGet’ten en son Aspose.CAD sürümünü yükleyin.
- Uygulama Linux’ta çalıştırılacağından, ek fontlar yüklemeniz gerekebilir. ttf-mscorefonts-installer’ı tercih edebilirsiniz.
- Tüm gerekli bağımlılıklar eklendikten sonra, bir elips oluşturan ve bunu bir görüntü olarak kaydeden basit bir program yazın:
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” klasörü, çıktı belgelerini kaydetmek için çıktı klasörü olarak belirtilmiştir. Uygulama Docker’da çalıştırılırken, ana makinada bir klasör bu klasöre bağlanacaktır. Bu, Aspose.CAD tarafından Docker konteynerinde üretilen çıktıyı kolayca görüntülemenizi sağlar.
Dockerfile’ı Yapılandırma
Sonraki adım, Dockerfile’ı oluşturmak ve yapılandırmaktır.
- Dockerfile’ı oluşturun ve uygulamanızın çözüm dosyasının yanına yerleştirin. Bu dosya adını uzantısız (varsayılan) tutun.
- Dockerfile’da şunları belirtin:
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"]
Yukarıdaki kod basit bir Dockerfile’dır ve şu talimatları içerir:
- Kullanılacak SDK görüntüsü. Burada .NET 6 görüntüsü kullanılıyor. Docker, oluşturma çalıştırıldığında bunu indirecektir. SDK’nın sürümü bir etiket olarak belirtilir.
- Daha sonra, Fontları yüklemeniz gerekebilir çünkü SDK görüntüsü çok az font içerir. Ayrıca, docker görüntüsüne kopyaladığınız yerel fontları da kullanabilirsiniz.
- Bir sonraki satırda belirtilen çalışma dizini.
- Her şeyi konteynere kopyalamak, uygulamayı yayınlamak ve giriş noktasını belirtme komutu.
Docker’da Uygulamayı Derleme ve Çalıştırma
Artık uygulama Docker’da derlenip çalıştırılabilir. En sevdiğiniz komut istemcisini açın, dizini uygulama ile aynı klasöre (çözüm dosyasının ve Dockerfile’ın bulunduğu klasör) değiştirin ve aşağıdaki komutu çalıştırın:
docker build -t dockerfile .
Bu komut ilk kez çalıştırıldığında daha uzun sürebilir, çünkü Docker gerekli görüntüleri indirmek zorundadır. Önceki komut tamamlandıktan sonra aşağıdaki komutu çalıştırın:
docker run --mount type=bind,source=C:\Temp,target=/app/TestOut --rm dockerfile from Docker
Daha Fazla Örnek
Aspose.CAD’i Docker’da nasıl kullanabileceğinizle ilgili daha fazla örnek için örnekler bölümüne bakın.