How to Run Aspose.3D in Docker

Microservices, in conjunction with containerization make it possible to easily combine technologies. Docker allows you to easily integrate Aspose.3D functionality into your application, regardless of what technology is in your development stack.

In case you are targeting microservices, or if the main technology in your stack is not .NET, C++ or Java, but you need Aspose.3D functionality, or if you already use Docker in your stack, then you may be interested in utilizing Aspose.3D in a Docker container.

Önkoşullar

  • Docker must be installed on your system. For information on how to install Docker on Windows or Mac, refer to the links in the “See Also” section.

  • Ayrıca, görsel studio 2019, .NET core 3.1 sdk’nın aşağıdaki örnekte kullanıldığını unutmayın.

Uygulama

Bu örnekte, 3D dosyası üreten ve desteklenen tüm kaydetme formatlarına kaydeden basit bir konsol uygulaması oluşturacaksınız. Uygulama daha sonra docker’da oluşturulabilir ve çalıştırılabilir.

Konsol uygulamasını oluşturma

Programı oluşturmak için aşağıdaki adımları izleyin:

  1. Docker yüklendikten sonra, linux kaplarını (varsayılan) kullandığından emin olun. Gerekirse, docker masaüstü menüsünden linux konteyner seçeneğine geçin.
  2. Görsel stüdyoda, .NET çekirdek konsol uygulaması oluşturun.
    ! Todo: image_alt_text
  3. Install the latest Aspose.3D version from NuGet.
    ! Todo: image_alt_text
  4. Uygulama linux’ta çalıştırılacağından, uygun yerel linux varlıkları yüklenmelidir. Dotnet core sdk 3.1 base image ile başlayın ve libgdiplus libc6-dev ‘i yükleyin.
  5. Gerekli tüm bağımlılıkları ekledikten sonra, bir düzlem oluşturan ve yönünü değiştiren ve desteklenen tüm kaydetme formatlarına kaydeden basit bir program yazın:
    .NET
    using System;
    namespace Aspose.3D.Docker
    {
        class Program
        {
            static void Main(string[] args)
            {
                // Initialize scene object
                Scene scene = new Scene();
    
                // Set Vector
                scene.RootNode.CreateChildNode(new Plane() { Up = new Vector3(1, 1, 3) });
    
                //This will generate a plane that has customized orientation
                scene.Save("ChangePlaneOrientation.obj");
            }
        }
    }
    

Note that the “TestOut” folder is specified as an output folder for saving output documents. When running the application in Docker, a folder on the host machine will be mounted to this folder in the container. This will enable you to easily view the output generated by Aspose.3D in the Docker container.

Bir dockerfile yapılandırması

Bir sonraki adım, dockerfile dosyasını oluşturmak ve yapılandırmaktır.

  1. Dockerfile oluşturun ve uygulamanızın çözüm dosyasının yanına yerleştirin. Bu dosya adını uzantısız tutun (varsayılan).
  2. Dosyada şunu belirtin:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster 
COPY fonts/* /usr/share/fonts/
WORKDIR /app
COPY . ./
RUN apt-get update && \
    apt-get install -y --allow-unauthenticated libgdiplus libc6-dev
RUN dotnet publish "Aspose.3D.Docker.csproj" -c Release -o /app/publish
ENTRYPOINT ["dotnet", "publish/Aspose.3D.Docker.dll"]

Yukarıdaki, aşağıdaki talimatları içeren basit bir dosya dosyasıdır:

  • Kullanılacak sdk görüntüsü. İşte burada. Net core sdk 3.1 görüntüsü. Docker, yapı çalıştırıldığında indirecektir. Sdk’nın sürümü bir etiket olarak belirtilir.
  • Her şeyi konteynere kopyalamak, uygulamayı yayınlamak ve giriş noktasını belirtmek için komut.
  • Libgdiplus yüklemek için komut kapta çalıştırılır. Bu sistem tarafından gereklidir. çizim. ortak.

Uygulamayı docker’da oluşturma ve çalıştırma

Şimdi uygulama docker’da oluşturulabilir ve çalıştırılabilir. Favori komut isteminizi açın, dizini uygulamayla birlikte klasöre değiştirin (çözüm dosyasının ve dockerdosyanın yerleştirildiği klasör) ve aşağıdaki komutu çalıştırın:

docker build -t actest .

Docker’ın gerekli görüntüleri indirmesi gerektiğinden, bu komut ilk kez yürütüldüğünde daha uzun sürebilir. Önceki komut tamamlandıktan sonra aşağıdaki komutu çalıştırın:

docker run --mount type=bind,source=C:\Temp,target=/TestOut --rm actest from Docker

Aspose destekleyen görüntüler. 3D

  • Aspose.3D for .NET standart linux’ta emf’yi ve tiff’i desteklemez.

Daha fazla örnek

1. To run the application in Windows Server 2019

  • Dockerfile
FROM microsoft/dotnet-framework:4.7.2-sdk-windowsservercore-ltsc2019
WORKDIR /app
COPY . ./
RUN dotnet publish "Aspose.3D.Docker.csproj" -c Release -o /app/publish
ENTRYPOINT ["dotnet", "publish/Aspose.3D.Docker.dll"]
  • Docker resmi oluşturun
docker build -t actest .
  • Docker görüntüsünü çalıştır
docker run --mount type=bind,source=C:\Temp,target=c:\TestOut --rm actest from Docker

Ayrıca bakın