Come Eseguire Aspose.CAD in Docker

Prerequisiti

  • Docker deve essere installato sul tuo sistema. Per informazioni su come installare Docker su Windows o Mac, fare riferimento ai collegamenti nella sezione “Vedi Anche”.
  • Visual Studio 2022.
  • NET 6 SDK è utilizzato nell’esempio.

Applicazione Hello World

In questo esempio, crei una semplice applicazione console Hello World che disegna un’ellisse e la salva come immagine. L’applicazione può quindi essere compilata ed eseguita in Docker.

Creazione dell’Applicazione Console

Per creare il programma Hello World, segui i passaggi qui sotto:

  1. Una volta installato Docker, assicurati che utilizzi i contenitori Linux (predefinito). Se necessario, seleziona l’opzione Passa a contenitori Linux dal menu di Docker Desktop.
  2. In Visual Studio, crea un’applicazione console NET 6.
    Un dialogo del progetto dellapplicazione console NET 6
  3. Installa l’ultima versione di Aspose.CAD da NuGet.
    Aspose.CAD su NuGet
  4. Poiché l’applicazione verrà eseguita su Linux, potrebbe essere necessario installare font aggiuntivi. Potresti preferire ttf-mscorefonts-installer.
  5. Quando tutte le dipendenze richieste sono state aggiunte, scrivi un semplice programma che crea un’ellisse e la salva come immagine:
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());
}

Nota che la cartella “TestOut” è specificata come cartella di output per il salvataggio dei documenti generati. Quando esegui l’applicazione in Docker, una cartella sulla macchina host verrà montata a questa cartella nel contenitore. Questo ti permetterà di visualizzare facilmente l’output generato da Aspose.CAD nel contenitore Docker.

Configurazione di un Dockerfile

Il passo successivo è creare e configurare il Dockerfile.

  1. Crea il Dockerfile e posizionalo accanto al file di soluzione della tua applicazione. Mantieni questo nome di file senza estensione (il predefinito).
  2. Nel Dockerfile, specifica:
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"]

Quello sopra è un Dockerfile semplice, che contiene le seguenti istruzioni:

  • L’immagine SDK da utilizzare. Qui è l’immagine Net 6. Docker la scaricherà quando verrà eseguita la build. La versione dell’SDK è specificata come tag.
  • Dopo, potrebbe essere necessario installare i font perché l’immagine SDK contiene pochissimi font. Inoltre, puoi utilizzare font locali copiati nell’immagine docker.
  • La directory di lavoro, che è specificata nella riga successiva.
  • Il comando per copiare tutto nel contenitore, pubblicare l’applicazione e specificare il punto di ingresso.

Compilazione ed Esecuzione dell’Applicazione in Docker

Ora l’applicazione può essere compilata ed eseguita in Docker. Apri il tuo prompt dei comandi preferito, cambia la directory nella cartella con l’applicazione (cartella in cui si trova il file di soluzione e il Dockerfile) ed esegui il seguente comando:

docker build -t dockerfile .

La prima volta che questo comando viene eseguito, potrebbe richiedere più tempo, poiché Docker deve scaricare le immagini necessarie. Una volta completato il comando precedente, esegui il seguente comando:

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

Ulteriori Esempi

Per ulteriori esempi su come puoi utilizzare Aspose.CAD in Docker, vedere gli esempi.

Vedi Anche