Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Docker es una popular plataforma de código abierto que le permite automatizar la implementación y administración de aplicaciones dentro de contenedores. Los contenedores tienen muchas características y beneficios, ya que brindan un entorno liviano y aislado para ejecutar aplicaciones y les permiten trabajar de manera consistente en diferentes sistemas operativos e infraestructuras.
El contenedor es como una máquina virtual. Se puede instalar, eliminar, detener, reanudar o conectar al terminal. Por lo tanto, el contenedor Docker es un paquete de software ejecutable, liviano y autónomo que incluye todo lo necesario para ejecutar una aplicación: código, tiempo de ejecución, herramientas del sistema, bibliotecas del sistema y configuraciones.
En este artículo, veremos cómo contener una aplicación .NET con Docker e integrar la funcionalidad Aspose.HTML en su proyecto. Aquí encontrará instrucciones paso a paso sobre cómo ejecutar Aspose.HTML en Docker: cómo crear una aplicación de consola y configurar un Dockerfile.
Antes de poder ejecutar Aspose.HTML en Docker, debe tener Docker instalado en su sistema. Para instalar Docker Desktop correctamente, debe asegurarse de que su sistema cumpla con los requisitos mínimos para la instalación de Docker. Para obtener información sobre cómo instalar Docker en Windows, Mac o Linux, siga los enlaces:
Consideremos el ejemplo: creamos una
Aplicación de consola ConsoleApp simple que convierte un documento HTML (document.html) y lo guarda en formato TIFF. Esta aplicación se puede compilar y ejecutar en Docker. Para crear un proyecto de aplicación de consola, siga algunos pasos:
Console App C#.



Después de agregar compatibilidad con Docker, se crea un Dockerfile con contenido predeterminado.
Al configurar correctamente Dockerfile, puede definir los pasos para crear una imagen de Docker y crear un entorno en contenedores que incluya todas las dependencias y configuraciones necesarias para ejecutar su aplicación.
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 es un archivo de texto que contiene un conjunto de instrucciones que se utilizan para crear una imagen de Docker. Se puede dividir en cuatro bloques distintos: bloques docker base image, docker build image, docker publish image y docker final image. Repasemos los pasos de un Dockerfile y sus significados:
mcr.microsoft.com/dotnet/runtime:6.0. Esta imagen base proporciona el entorno de ejecución para aplicaciones .NET./app.mcr.microsoft.com/dotnet/sdk:6.0. El segmento dotnet es el repositorio del contenedor, mientras que el segmento sdk es el nombre de la imagen del contenedor acoplable. La imagen incluye el SDK de .NET 6.0, lo que le permite crear su aplicación .NET./src.ConsoleApp/ al directorio /src/ConsoleApp/ del contenedor.dotnet restore para restaurar los paquetes NuGet para el proyecto./scr/.dotnet build "ConsoleApp.csproj" -c Release -o /app/build compila la aplicación .NET especificada en ConsoleApp.csproj usando la configuración Release y almacena el resultado de la compilación en /app/build dentro del contenedor.FROM build AS publish configura una nueva etapa de imagen acoplable llamada publish basada en la etapa anterior build. Esto indica que la etapa publish heredará todos los archivos, dependencias y configuraciones de la etapa build.dotnet publish para publicar la aplicación en la configuración Release, con el directorio de salida configurado como /app/publish.base como imagen base./app.publish al directorio actual en la etapa final.ConsoleApp.dll.Estos cuatro bloques del Dockerfile trabajan juntos para crear una imagen acoplable de varias etapas. Las etapas inicial de base y compilación se utilizan para instalar dependencias, restaurar paquetes y compilar la aplicación. Los siguientes bloques de publish y final se utilizan para publicar la aplicación para su implementación y ejecución cuando se inicia el contenedor.
En el ejemplo, sugerimos utilizar un programa simple que convierte un documento HTML a un formato de imagen 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:El siguiente archivo es un archivo de proyecto .NET que define la configuración del proyecto, las dependencias y los archivos adicionales necesarios para crear una aplicación ejecutable. <InvariantGlobalization> es un elemento adicional que deshabilita el comportamiento de globalización invariante en el proyecto. Cuando se establece en falso, el proyecto utilizará el comportamiento de globalización predeterminado.
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>

Ayuda y soporte
Si necesita ayuda o tiene preguntas sobre cómo ejecutar Aspose.HTML en Docker, comuníquese con el Foro de soporte gratuito o la Consulta gratuita. ¡Estaremos encantados de ayudarte!
Ver también
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.