Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Docker ist eine beliebte Open-Source-Plattform, mit der Sie die Bereitstellung und Verwaltung von Anwendungen in Containern automatisieren können. Container haben viele Funktionen und Vorteile. Sie bieten eine leichtgewichtige und isolierte Umgebung für die Ausführung von Anwendungen und ermöglichen deren konsistente Nutzung auf verschiedenen Betriebssystemen und Infrastrukturen.
Der Container ist wie eine virtuelle Maschine. Er kann installiert, gelöscht, gestoppt, wiederaufgenommen oder mit dem Terminal verbunden werden. Der Docker-Container ist also ein leichtgewichtiges, in sich geschlossenes, ausführbares Softwarepaket, das alles enthält, was zur Ausführung einer Anwendung erforderlich ist: Code, Laufzeit, Systemtools, Systembibliotheken und Einstellungen.
In diesem Artikel sehen wir uns an, wie man eine .NET-Anwendung mit Docker containerisiert und Aspose.HTML-Funktionalität in Ihr Projekt integriert. Hier finden Sie eine Schritt-für-Schritt-Anleitung, wie Sie Aspose.HTML in Docker ausführen können – wie Sie eine Konsolenanwendung erstellen und ein Dockerfile einrichten.
Bevor Sie Aspose.HTML in Docker ausführen können, müssen Sie Docker auf Ihrem System installiert haben. Um Docker Desktop erfolgreich zu installieren, sollten Sie sicherstellen, dass Ihr System die Mindestanforderungen für die Installation von Docker erfüllt. Für Informationen über die Installation von Docker unter Windows, Mac oder Linux folgen Sie den Links:
Betrachten wir das Beispiel: Wir erstellen eine einfache
Konsolenanwendung ConsoleApp, die ein HTML-Dokument (document.html) konvertiert und im TIFF-Format speichert. Diese Anwendung können Sie in Docker erstellen und ausführen. Um ein Projekt für eine Konsolenanwendung zu erstellen, führen Sie einige Schritte aus:
Console App C#.



Nach dem Hinzufügen der Dockerunterstützung wird eine Dockerdatei mit Standardinhalt erstellt.
Durch die korrekte Konfiguration des Dockerfiles können Sie die Schritte zur Erstellung eines Docker-Images definieren und eine containerisierte Umgebung erstellen, die alle notwendigen Abhängigkeiten und Konfigurationen zur Ausführung Ihrer Anwendung enthält.
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"]Ein Dockerfile ist eine Textdatei, die eine Reihe von Anweisungen enthält, die zum Erstellen eines Docker-Images verwendet werden. Sie kann in vier verschiedene Blöcke unterteilt werden: docker base image, docker build image, docker publish image und docker final image. Gehen wir die Schritte in einer Dockerdatei und ihre Bedeutung durch:
mcr.microsoft.com/dotnet/runtime:6.0 angegeben. Dieses Basis-Image stellt die Laufzeitumgebung für .NET-Anwendungen bereit./app.mcr.microsoft.com/dotnet/sdk:6.0 an. Das Segment “dotnet” ist das Container-Repository, während das Segment sdk der Name des Docker-Container-Images ist. Das Image enthält das .NET 6.0 SDK, mit dem Sie Ihre .NET-Anwendung erstellen können./src.ConsoleApp/ in das Verzeichnis /src/ConsoleApp/ des Containers.dotnet restore aus, um die NuGet-Pakete für das Projekt wiederherzustellen./scr/.dotnet build "ConsoleApp.csproj" -c Release -o /app/build kompiliert die in ConsoleApp.csproj angegebene .NET-Anwendung unter Verwendung der Release-Konfiguration und speichert die Build-Ausgabe im Verzeichnis /app/build im Container.FROM build AS publish richtet eine neue Docker-Image-Stufe namens publish ein, die auf der vorherigen build-Stufe basiert. Dies bedeutet, dass die Stufe publish alle Dateien, Abhängigkeiten und Konfigurationen von der Stufe build erben wird.dotnet publish aus, um die Anwendung in der Konfiguration Release zu veröffentlichen, wobei das Ausgabeverzeichnis als /app/publish festgelegt wird.base als Basis-Image./app.publish-Stufe in das aktuelle Verzeichnis in der final-Stufe zu kopieren.ConsoleApp.dll.Diese vier Blöcke im Dockerfile arbeiten zusammen, um ein mehrstufiges Docker-Image zu erstellen. Die anfängliche Base- und Build-Phase wird verwendet, um Abhängigkeiten zu installieren, Pakete wiederherzustellen und die Anwendung zu erstellen. Die nächsten Blöcke “publish” und “final” werden für die Veröffentlichung der Anwendung für die Bereitstellung und die Ausführung beim Start des Containers verwendet.
In diesem Beispiel wird ein einfaches Programm vorgeschlagen, das ein HTML-Dokument in ein TIFF-Bildformat konvertiert:
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 hinzu:Die folgende Datei ist eine .NET-Projektdatei, die die Projekteinstellungen, Abhängigkeiten und zusätzlichen Dateien definiert, die zum Erstellen einer ausführbaren Anwendung erforderlich sind. <InvariantGlobalization> ist ein zusätzliches Element, das das invariante Globalisierungsverhalten im Projekt deaktiviert. Wenn es auf false gesetzt ist, verwendet das Projekt das Standard-Globalisierungsverhalten.
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>

Hilfe & Support
Wenn Sie Hilfe benötigen oder Fragen zum Betrieb von Aspose.HTML in Docker haben, wenden Sie sich bitte an Free Support Forum oder Free Consulting. Wir helfen Ihnen gerne weiter!
Siehe auch
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.