Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
I microservizi, insieme alla containerizzazione, consentono di combinare facilmente le tecnologie. Docker ti consente di integrare facilmente la funzionalità Aspose.Words nella tua applicazione, indipendentemente dalla tecnologia presente nel tuo stack di sviluppo.
Nel caso in cui ti rivolgi ai microservizi o se la tecnologia principale nel tuo stack non è .NET, C++ o Java, ma hai bisogno della funzionalità Aspose.Words o se utilizzi già Docker nel tuo stack, potresti essere interessato a utilizzare Aspose.Words in un Docker contenitore.
Docker deve essere installato sul tuo sistema. Per informazioni su come installare Docker su Windows o Mac fare riferimento ai link presenti nella sezione “Vedi anche”.
Tieni inoltre presente che nell’esempio fornito di seguito viene utilizzato Visual Studio 2017, .NET Core 2.2 SDK.
In questo esempio, crei una semplice applicazione console Hello World che crea un messaggio “Hello World!” documento e lo salva in tutti i formati di salvataggio supportati. L’applicazione può quindi essere creata ed eseguita in Docker.
Per creare il programma Hello World, attenersi alla seguente procedura:
SkiaSharp.NativeAssets.Linux.Tieni presente che la cartella “TestOut” è specificata come cartella di output per il salvataggio dei documenti di output. Quando si esegue l’applicazione in Docker, una cartella sul computer host verrà montata su questa cartella nel contenitore. Ciò ti consentirà di visualizzare facilmente l’output generato da Aspose.Words nel contenitore Docker.
Il passaggio successivo è creare e configurare il Dockerfile.
FROM mcr.microsoft.com/dotnet/core/sdk:2.2
WORKDIR /app
RUN apt-get update && apt-get install -y libfontconfig1
COPY . ./
RUN dotnet publish -c Release -o out
ENTRYPOINT ["dotnet", "Aspose.Words.Docker.Sample/out/Aspose.Words.Docker.Sample.dll"]Quanto sopra è un semplice Dockerfile, che contiene le seguenti istruzioni:
Ora l’applicazione può essere creata ed eseguita in Docker. Apri il tuo prompt dei comandi preferito, cambia la directory nella cartella con l’applicazione (cartella in cui sono posizionati il file della soluzione e il Dockerfile) ed esegui il seguente comando:
docker build -t awtest .La prima volta che viene eseguito questo comando potrebbe richiedere più tempo, poiché Docker deve scaricare le immagini richieste. Una volta completato il comando precedente, eseguire il comando seguente:
docker run --mount type=bind,source=C:\Temp,target=/TestOut --rm awtest from DockerAspose.Words è disponibile sia per .NET Framework che per .NET Core. Le immagini .NET Core sono di dimensioni molto più ridotte rispetto alle immagini .NET Framework, il che rende .NET Core la scelta migliore per la creazione di microservizi e per l’utilizzo nei contenitori. È possibile distribuire app in contenitori Linux Docker (per la distribuzione multipiattaforma), che sono più leggeri dei contenitori Windows.
Le immagini ufficiali per il .NET Core SDK sono fornite per:
Per lavorare con la grafica, Aspose.Words per .NET Standard dipende da SkiaSharp. Ciò limita le immagini su cui è possibile eseguire Aspose.Words a quanto segue:
SkiaSharp non funziona su Windows Nano Server a causa della mancanza di alcune dipendenze native, che è un problema noto in SkiaSharp. Il problema verrà risolto nella versione 1.68.1.1 di SkiaSharp. Se devi eseguire Aspose.Words in un contenitore Windows, utilizza l’immagine di base .NET Framework con la versione .NET Framework di Aspose.Words, che non dipende da SkiaSharp.
SkiaSharp è un wrapper attorno alla libreria nativa Skia. I seguenti runtime sono forniti nel pacchetto SkiaSharp NuGet:
-osx
Per eseguirlo in Linux, dovresti utilizzare pacchetti NuGet aggiuntivi con le risorse native corrispondenti, come le build native della libreria Skia, elencate di seguito:
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
WORKDIR /app
\# copy csproj and restore as distinct layers
COPY Aspose.Words.Docker.Sample/*.csproj ./Aspose.Words.Docker.Sample/
WORKDIR /app/Aspose.Words.Docker.Sample
RUN dotnet restore
\# copy and publish app and libraries
WORKDIR /app/
COPY Aspose.Words.Docker.Sample/. ./Aspose.Words.Docker.Sample/
WORKDIR /app/Aspose.Words.Docker.Sample
RUN dotnet publish -c Release -o out
\# copy to runtime environment
FROM mcr.microsoft.com/dotnet/core/runtime:2.2 AS runtime
WORKDIR /app
\# libfontconfig1 is required to properly work with fonts in Linux.
RUN apt-get update && apt-get install -y libfontconfig1
RUN apt install libharfbuzz-icu0
COPY --from=build /app/Aspose.Words.Docker.Sample/out ./
ENTRYPOINT ["dotnet", "Aspose.Words.Docker.Sample.dll"]FROM mcr.microsoft.com/dotnet/core/sdk:2.2-bionic AS build
WORKDIR /app
\# copy csproj and restore as distinct layers
COPY Aspose.Words.Docker.Sample/*.csproj ./Aspose.Words.Docker.Sample/
WORKDIR /app/Aspose.Words.Docker.Sample
RUN dotnet restore
\# copy and publish app and libraries
WORKDIR /app/
COPY Aspose.Words.Docker.Sample/. ./Aspose.Words.Docker.Sample/
WORKDIR /app/Aspose.Words.Docker.Sample
RUN dotnet publish -c Release -o out
\# copy to runtime environment
FROM mcr.microsoft.com/dotnet/core/runtime:2.2-bionic AS runtime
WORKDIR /app
\# libfontconfig1 is required to properly work with fonts in Linux.
RUN apt-get update && apt-get install -y libfontconfig1
RUN apt install libharfbuzz-icu0
COPY --from=build /app/Aspose.Words.Docker.Sample/out ./
ENTRYPOINT ["dotnet", "Aspose.Words.Docker.Sample.dll"]FROM mcr.microsoft.com/dotnet/core/sdk:2.2-alpine3.9 AS build
WORKDIR /app
\# copy csproj and restore as distinct layers
COPY Aspose.Words.Docker.Sample/*.csproj ./Aspose.Words.Docker.Sample/
WORKDIR /app/Aspose.Words.Docker.Sample
RUN dotnet restore
\# copy and publish app and libraries
WORKDIR /app/
COPY Aspose.Words.Docker.Sample/. ./Aspose.Words.Docker.Sample/
WORKDIR /app/Aspose.Words.Docker.Sample
RUN dotnet publish -c Release -o out
\# copy to runtime environment
FROM mcr.microsoft.com/dotnet/core/runtime:2.2-alpine3.9 AS runtime
WORKDIR /app
\# fontconfig is required to properly work with fonts in Linux.
RUN apk update && apk upgrade && apk add fontconfig && apk add harfbuzz
COPY --from=build /app/Aspose.Words.Docker.Sample/out ./
ENTRYPOINT ["dotnet", "Aspose.Words.Docker.Sample.dll"]FROM mcr.microsoft.com/dotnet/core/sdk:2.1 AS build
WORKDIR /app
\# copy csproj and restore as distinct layers
COPY Aspose.Words.Docker.Sample/*.csproj ./Aspose.Words.Docker.Sample/
WORKDIR /app/Aspose.Words.Docker.Sample
RUN dotnet restore
\# copy and publish app and libraries
WORKDIR /app/
COPY Aspose.Words.Docker.Sample/. ./Aspose.Words.Docker.Sample/
WORKDIR /app/Aspose.Words.Docker.Sample
RUN dotnet publish -c Release -o out
\# copy to runtime environment
FROM kkamberta/dotnet-21-rhel7 AS runtime
WORKDIR /app
COPY --from=build /app/Aspose.Words.Docker.Sample/out ./
ENTRYPOINT ["/opt/rh/rh-dotnet21/root/usr/bin/dotnet", "Aspose.Words.Docker.Sample.dll"]Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.