Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Docker est une plateforme open-source populaire qui vous permet d’automatiser le déploiement et la gestion d’applications dans des conteneurs. Les conteneurs présentent de nombreuses caractéristiques et avantages : ils offrent un environnement léger et isolé pour l’exécution des applications et leur permettent de fonctionner de manière cohérente sur différents systèmes d’exploitation et infrastructures.
Le conteneur est comme une machine virtuelle. Il peut être installé, supprimé, arrêté, repris ou connecté au terminal. Le conteneur docker est donc un logiciel exécutable léger et autonome qui comprend tout ce qui est nécessaire à l’exécution d’une application : le code, le moteur d’exécution, les outils système, les bibliothèques système et les paramètres.
Dans cet article, nous verrons comment conteneuriser une application .NET avec Docker et intégrer la fonctionnalité Aspose.HTML dans votre projet. Vous trouverez ici des instructions pas à pas sur la manière d’exécuter Aspose.HTML dans Docker – comment créer une application console et configurer un fichier Docker.
Avant de pouvoir exécuter Aspose.HTML dans Docker, vous devez installer Docker sur votre système. Pour installer Docker Desktop avec succès, vous devez vous assurer que votre système répond à la configuration minimale requise pour l’installation de Docker. Pour plus d’informations sur l’installation de Docker sur Windows, Mac ou Linux, suivez les liens :
Prenons un exemple : nous créons une simple
Application console ConsoleApp qui convertit un document HTML (document.html) et le sauvegarde au format TIFF. Cette application peut être compilée et exécutée dans Docker. Pour créer un projet d’application console, suivez quelques étapes :
Console App C#.



Après avoir ajouté la prise en charge de Docker, un fichier Docker est créé avec le contenu par défaut.
En configurant correctement le fichier Docker, vous pouvez définir les étapes de construction d’une image Docker et créer un environnement conteneurisé qui inclut toutes les dépendances et configurations nécessaires à l’exécution de votre application.
1#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
2
3FROM mcr.microsoft.com/dotnet/runtime:6.0 AS base
4WORKDIR /app
5
6FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
7WORKDIR /src
8COPY ["ConsoleApp/ConsoleApp.csproj", "ConsoleApp/"]
9RUN dotnet restore "ConsoleApp/ConsoleApp.csproj"
10COPY . .
11WORKDIR "/src/ConsoleApp"
12RUN dotnet build "ConsoleApp.csproj" -c Release -o /app/build
13
14FROM build AS publish
15RUN dotnet publish "ConsoleApp.csproj" -c Release -o /app/publish
16
17FROM base AS final
18WORKDIR /app
19COPY --from=publish /app/publish .
20ENTRYPOINT ["dotnet", "ConsoleApp.dll"] 1#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
2
3FROM mcr.microsoft.com/dotnet/runtime:6.0 AS base
4WORKDIR /app
5RUN apt-get update \
6 && apt-get install -y --no-install-recommends libgdiplus libc6-dev \
7 && apt-get clean \
8 && rm -rf /var/lib/apt/lists/*
9RUN sed -i'.bak' 's/$/ contrib/' /etc/apt/sources.list
10RUN apt-get update; apt-get install -y ttf-mscorefonts-installer fontconfig
11
12FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
13WORKDIR /src
14COPY ["ConsoleApp/ConsoleApp.csproj", "ConsoleApp/"]
15RUN dotnet restore "ConsoleApp/ConsoleApp.csproj"
16COPY . .
17WORKDIR "/src/ConsoleApp"
18RUN dotnet build "ConsoleApp.csproj" -c Release -o /app/build
19
20FROM build AS publish
21RUN dotnet publish "ConsoleApp.csproj" -c Release -o /app/publish /p:UseAppHost=false
22
23FROM base AS final
24WORKDIR /app
25COPY --from=publish /app/publish .
26ENTRYPOINT ["dotnet", "ConsoleApp.dll"]Un Dockerfile est un fichier texte qui contient un ensemble d’instructions utilisées pour construire une image Docker. Il peut être divisé en quatre blocs distincts : docker base image, l’image de construction Docker, docker publish image, et docker final image. Passons en revue les étapes d’un fichier Docker et leur signification :
mcr.microsoft.com/dotnet/runtime:6.0 est spécifiée. Cette image de base fournit l’environnement d’exécution pour les applications .NET./app.mcr.microsoft.com/dotnet/sdk:6.0. Le segment dotnet est le référentiel du conteneur, tandis que le segment sdk est le nom de l’image du conteneur docker. L’image inclut le SDK .NET 6.0, ce qui vous permet de créer votre application .NET./src.ConsoleApp/ vers le répertoire /src/ConsoleApp/ du conteneur.dotnet pour restaurer les paquets NuGet du projet./scr/.dotnet build "ConsoleApp.csproj" -c Release -o /app/build compile l’application .NET spécifiée dans ConsoleApp.csproj en utilisant la configuration Release et stocke la sortie de la compilation dans le répertoire /app/build à l’intérieur du conteneur.FROM build AS publish met en place un nouveau stage d’image docker nommé publish basé sur le stage build précédent. Cela indique que l’étape publish héritera de tous les fichiers, dépendances et configurations de l’étape build.dotnet publish pour publier l’application dans la configuration Release, le répertoire de sortie étant /app/publish.base comme image de base./app.publish vers le répertoire courant de l’étape final.ConsoleApp.dll.Ces quatre blocs du fichier Docker fonctionnent ensemble pour construire une image Docker en plusieurs étapes. Les étapes initiales de base et de construction sont utilisées pour installer les dépendances, restaurer les paquets et construire l’application. La publication suivante et les blocs finaux sont utilisés pour publier l’application en vue de son déploiement et de son exécution lorsque le conteneur démarre.
Dans l’exemple, nous proposons d’utiliser un programme simple qui convertit un document HTML en format d’image TIFF :
1using Aspose.Html;
2using Aspose.Html.Rendering.Image;
3
4namespace ConsoleApp
5{
6 internal class Program
7 {
8 static void Main(string[] args)
9 {
10 using var doc = new HTMLDocument("document.html");
11 using var dev = new ImageDevice(new ImageRenderingOptions(ImageFormat.Tiff), "result.tiff");
12 doc.RenderTo(dev);
13 }
14 }
15}

false :Le fichier suivant est un fichier de projet .NET qui définit les paramètres du projet, les dépendances et les fichiers supplémentaires nécessaires pour créer une application exécutable. <InvariantGlobalization> est un élément supplémentaire qui désactive le comportement de globalisation invariante dans le projet. S’il vaut false, le projet utilisera le comportement de globalisation par défaut.
1<Project Sdk="Microsoft.NET.Sdk">
2
3 <PropertyGroup>
4 <OutputType>Exe</OutputType>
5 <TargetFramework>net6.0</TargetFramework>
6 <ImplicitUsings>enable</ImplicitUsings>
7 <Nullable>enable</Nullable>
8 <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
9 </PropertyGroup>
10
11 <ItemGroup>
12 <PackageReference Include="Aspose.HTML" Version="23.5.0" />
13 <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.14.0" />
14 <PackageReference Include="System.Drawing.Common" Version="6.0.0" />
15 </ItemGroup>
16
17 <ItemGroup>
18 <None Update="document.html">
19 <CopyToOutputDirectory>Always</CopyToOutputDirectory>
20 </None>
21 </ItemGroup>
22
23 <ItemGroup>
24 <RuntimeHostConfigurationOption Include="System.Drawing.EnableUnixSupport" Value="true" />
25 </ItemGroup>
26
27 <PropertyGroup>
28 <InvariantGlobalization>false</InvariantGlobalization>
29 </PropertyGroup>
30
31</Project>

Aide et soutien
Si vous avez besoin d’aide ou si vous avez des questions sur l’exécution d’Aspose.HTML dans Docker, veuillez contacter Free Support Forum ou Free Consulting. Nous serons heureux de vous aider !
Voir aussi
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.