Führen Sie IronPDF als Remote-Container aus

This article was translated from English: Does it need improvement?
Translated
View the article in English

Der IronPdfEngine ist ein eigenständiger Dienst, der das Erstellen, Schreiben, Bearbeiten und Lesen von PDFs verwalten kann. IronPDF Docker ist bereit, Docker-Dienste mit kompatiblen Versionen von IronPDF auszuführen(v2023.2.x und höher). Dies wird Entwicklern helfen, Probleme bei der Bereitstellung von IronPDF zu beseitigen.

Warum es eine gute Idee ist, IronPDF als eigenen Container auszuführen

IronPDF benötigt zum Betrieb sowohl Chrome- als auch Pdfium-Binärdateien, die eine enorme Dateigröße aufweisen(hunderte von MBs). Außerdem müssen mehrere Abhängigkeiten auf dem Rechner installiert sein.

Mit dieser Methode benötigt Ihr Client nur einen Bruchteil der Größe(in MB).

Vermeiden Sie Probleme bei der Bereitstellung

Es kann schwierig sein, die Umgebung bzw. den Container so zu konfigurieren, dass alle Abhängigkeiten korrekt berücksichtigt werden. Die Verwendung des IronPDF-Docker-Containers bedeutet, dass IronPDF vorinstalliert ist und garantiert funktioniert, so dass alle Probleme mit der Bereitstellung und den Abhängigkeiten vermieden werden.

Versionen

Das IronPDF Docker-Tag basiert auf der Version der IronPdfEngine selbst. Es handelt sich nicht um die gleiche Version wie das IronPDF-Produkt.

Jeder IronPDF-Version ist eine eigene IronPdfEngine-Version zugeordnet. Die Versionsnummer muss mit der IronPDF-Docker-Version übereinstimmen.

Zum Beispiel: Für IronPDF for Java Version 2023.2.1 ist IronPdfEngine Version 2023.2.1 erforderlich. Sie können keine falsch abgestimmten IronPdfEngine- und IronPDF-Versionen verwenden.


So verwenden Sie IronPDF Docker

IronPDF installieren

Fügen Sie das Nuget-Paket IronPDF.Slim zu Ihrem Projekt hinzu.

https://www.nuget.org/packages/IronPdf.Slim/

Hinweis: Die Pakete IronPdf, IronPdf.Linux und IronPdf.MacOs enthalten alle IronPdf.Slim.

Um die Größe Ihrer Anwendung zu reduzieren, empfehlen wir, nur IronPDF.Slim zu installieren. Das Paket IronPDF.Native.Chrome.xxx wird nicht mehr verwendet, Sie können es also aus Ihrem Projekt entfernen.

Erforderliche Container-Version bestimmen

Standardmäßig entspricht die Version von IronPDF für Docker der aktuellen Version von IronPDF in NuGet. Sie können den untenstehenden Code verwenden, um die Version manuell zu überprüfen:

:path=/static-assets/pdf/content-code-examples/how-to/ironpdfengine-docker-version.cs
string ironPdfEngineVersion = IronPdf.Installation.IronPdfEngineVersion;
Dim ironPdfEngineVersion As String = IronPdf.Installation.IronPdfEngineVersion
VB   C#

Einrichten von IronPDF für Docker-Container

Ohne Docker Compose

Führen Sie den Docker-Container mit der Version aus dem vorherigen Schritt aus.

  • Docker muss installiert sein.

    Einrichtung

  1. Weiter zu https://hub.docker.com/r/ironsoftwareofficial/ironpdfengine

  2. Das neueste ironsoftwareofficial/ironpdfengine-Image abrufen
docker pull ironsoftwareofficial/ironpdfengine

Oder ziehen Sie die spezifische Version(empfohlen)

docker pull ironsoftwareofficial/ironpdfengine:2023.12.6
  1. Führen Sie den Container ironsoftwareofficial/ironpdfengine aus.

    Mit diesem Befehl wird ein Container erstellt und im Hintergrund mit Port 33350 ausgeführt

docker run -d -e IRONPDF_ENGINE_LICENSE_KEY=MY_LICENSE_KEY --network=ironpdf-network --ip=172.19.0.2 --name=ironpdfengine --hostname=ironpdfengine -p 33350:33350 ironsoftwareofficial/ironpdfengine:2023.12.6

Mit Docker Compose

Der Schlüssel dazu ist die Einrichtung eines Docker-Netzwerks, das es IronPdfEngine und Ihrer Anwendung ermöglicht, sich gegenseitig zu sehen. Setzen Sie 'depends_on', um sicherzustellen, dass IronPdfEngine läuft, bevor Ihre Anwendung startet.

Einrichtung

  1. Beginnen Sie mit der Erstellung einer Datei "docker-compose.yml". Richten Sie Ihre Docker-Compose-Datei nach der folgenden Vorlage ein:
version: "3.6"
services:
  myironpdfengine:
    container_name: ironpdfengine
    image: ironsoftwareofficial/ironpdfengine:latest
    ports:
      - "33350:33350"
    networks:
      - ironpdf-network
  myconsoleapp:
    container_name: myconsoleapp
    build:
      # enter YOUR project directory path here
      context: ./MyConsoleApp/
      # enter YOUR dockerfile name here, relative to project directory
      dockerfile: Dockerfile
    networks:
      - ironpdf-network
    depends_on:
      myironpdfengine:
        condition: service_started
networks:
  ironpdf-network: 
    driver: "bridge"
  1. Legen Sie die Adresse der IronPdfEngine innerhalb Ihrer Anwendung fest(myconsoleapp) auf "myironpdfengine:33350"

  2. Docker Compose ausführen
docker compose up --detach --force-recreate --remove-orphans --timestamps

Mit IronPdfEngine verbinden

Führen Sie Ihren IronPDF-Code aus. Ihre Anwendung spricht nun mit der IronPdfEngine in Docker!

:path=/static-assets/pdf/content-code-examples/how-to/ironpdfengine-docker-use.cs
using IronPdf;
using IronPdf.GrpcLayer;

// Configure for Docker container
var config = new IronPdfConnectionConfiguration();
config.ConnectionType = IronPdfConnectionType.Docker;
IronPdf.Installation.ConnectToIronPdfHost(config);

// Use IronPDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF Docker!<h1>");
pdf.SaveAs("ironpdf.pdf");
Imports IronPdf
Imports IronPdf.GrpcLayer

' Configure for Docker container
Private config = New IronPdfConnectionConfiguration()
config.ConnectionType = IronPdfConnectionType.Docker
IronPdf.Installation.ConnectToIronPdfHost(config)

' Use IronPDF
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF Docker!<h1>")
pdf.SaveAs("ironpdf.pdf")
VB   C#

Bereitstellen von IronPdfEngine auf AWS ECS

Voraussetzungen

Einrichtung

  1. Erstellen Sie einen ECS-Cluster. Folgen Sie diesem Leitfaden auferstellen eines Clusters für den Starttyp Fargate und Extern über die Konsole.

  2. Erstellen Sie eine Aufgabendefinition. Folgen Sie diesem Leitfaden fürerstellen einer Aufgabendefinition über die Konsole.

    Empfohlene Einstellungen:

    • AWS Fargate
    • Es wird mindestens 1 vCPU mit 2 GB RAM empfohlen. Wenn Sie mit PDFs arbeiten, die mehr als 10 Seiten enthalten, oder wenn Sie eine hohe Last zu bewältigen haben, wählen Sie bitte eine höhere Stufe aus, je nach Arbeitsbelastung.
    • Netzwerkmodus: awsvpc
    • Port-Zuordnungen:
    "containerPort": 33350,
    "hostPort": 33350,
    "protocol": "tcp",
    "appProtocol": "grpc"
  • Bild-URI: zeigt auf eine beliebige IronPdfEngine von uns. Zum Beispiel: "ironsoftwareofficial/ironpdfengine:2024.1.20"(von DockerHub)
  • AWS-Berechtigung & Netzwerke sind auf eigene Verantwortung
  • Es wird empfohlen, Amazon CloudWatch zu aktivieren. (Protokollierung einschalten)
  • die Startreihenfolge der Container** ist erforderlich, wenn Sie Ihren Anwendungscontainer in derselben Aufgabendefinition bereitstellen möchten.
  1. Führen Sie eine Aufgabendefinition aus. Sie können eine Aufgabendefinition als Aufgabe oder Dienst ausführen. Folgen Sie diesem Leitfaden auferstellen eines Dienstes über die Konsole.

    Empfohlene Einstellungen:

    • Startart: AWS Fargate
    • Öffentliche IP: Eingeschaltet für Tests und Ausgeschaltet für die Produktion. Für Sicherheit und AWS-Netzwerke sind Sie selbst verantwortlich.
  2. Genießen Sie! IronPdfEngine docker ist in Ihrem AWS eingerichtet und läuft!

    Bitte beachten Sie
    Die horizontale Skalierung wird nicht unterstützt. Bitte beachten Sie dieIronPdfEngine Einschränkung für weitere Informationen.


Bereitstellung von IronPdfEngine auf Azure Container-Instanzen

Voraussetzungen

Einrichtung

  1. Erstellen Sie einen Azure-Container. Folgen Sie diesemschnellstartanleitung für die Bereitstellung einer Container-Instanz in Azure über das Azure-Portal.

    Empfohlene Einstellungen:

    • Bildquelle: Andere Registry
    • Bild: ironsoftwareofficial/ironpdfengine:2024.1.20(von Docker Hub)
    • OS-Typ: Linux
    • Größe: Mindestens 1 vCPU und 2 GiB Arbeitsspeicher, oder höher
    • Port: TCP-Anschluss 33350
  2. Genießen Sie! IronPdfEngine docker ist in Ihren Azure Container Instanzen in Betrieb!

    Bitte beachten Sie
    Die horizontale Skalierung wird nicht unterstützt. Bitte beachten Sie dieIronPdfEngine Einschränkung für weitere Informationen.


Voraussetzung

  • Docker muss installiert sein.

Einrichtung

  1. Weiter zu https://gallery.ecr.aws/v1m9w8y1/ironpdfengine

  2. Ziehen Sie das Bild v1m9w8y1/ironpdfengine
docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine

Oder ziehen Sie die spezifische Version(empfohlen)

docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine:2023.12.6
  1. Führen Sie den Container ironpdfengine aus.

    Mit diesem Befehl wird ein Container erstellt und im Hintergrund mit Port 33350 ausgeführt

docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine

Erfahren Sie, wie Sie den IronPDF-Client für die Nutzung von IronPdfEngine konfigurieren können, indem Sie zum Abschnitt "Aktualisieren des Codes zur Verwendung von IronPdfEngine."


Holen Sie sich IronPdfEngine aus dem Marketplace

Um Ihnen den Einstieg zu erleichtern, haben wir IronPdfEngine sowohl auf dem Azure- als auch auf dem AWS-Marktplatz eingerichtet.

Azure-Marktplatz

Azure-Marktplatz

Einrichtung

  1. Gehe zuIronPDF Docker-Container auf dem Azure-Marktplatz. Klicken Sie auf "Get It Now" und "Continue"

  2. Füllen Sie die Felder "Grundlagen", "Cluster-Details" und "Anwendungsdetails" aus, um den Kubernetes-Dienst zu erstellen.

  3. Sobald die Bereitstellung abgeschlossen ist, gehen Sie in der linken Seitenleiste zu Kubernetes-Ressourcen -> Befehl ausführen. Führen Sie den folgenden Befehl aus:
kubectl get services
Kubernetes-Dienst - Befehl ausführen

Mit den Informationen von EXTERNAL-IP und PORT(S)können Sie die IronPDFEngine-Verbindung entsprechend konfigurieren.

:path=/static-assets/pdf/content-code-examples/how-to/pull-run-ironpdfengine-azure-marketplace.cs
using IronPdf;
using IronPdf.GrpcLayer;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

IronPdfConnectionConfiguration configuration = new IronPdfConnectionConfiguration();
configuration.ConnectionType = IronPdfConnectionType.RemoteServer;
configuration.Host = "http://48.216.143.233";
configuration.Port = 80;
IronPdf.Installation.ConnectToIronPdfHost(configuration);

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
pdf.SaveAs("output.pdf");
Imports IronPdf
Imports IronPdf.GrpcLayer

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

Dim configuration As New IronPdfConnectionConfiguration()
configuration.ConnectionType = IronPdfConnectionType.RemoteServer
configuration.Host = "http://48.216.143.233"
configuration.Port = 80
IronPdf.Installation.ConnectToIronPdfHost(configuration)

Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
pdf.SaveAs("output.pdf")
VB   C#

AWS Marketplace

aws-Marktplatz

Voraussetzungen

  • Docker muss installiert sein.
  • AWS CLI muss installiert und eingeloggt sein.

    Einrichtung

  1. Gehe zuIronPdfEngine auf dem AWS-Marktplatz. Klicken Sie auf die Schaltfläche "Weiter zum Abonnieren"

  2. Akzeptieren Sie die Bedingungen.

    EULA akzeptieren
  3. Weiter zu Confiuguration.

    Vollständig abonnieren
  4. Ziehen Sie das ironpdfengine-Image. Dieser Schritt zeigt Ihnen einen Befehl, um das ironpdfengine-Image zu ziehen.
    Starten Sie diese Software

    Zum Beispiel:

aws ecr get-login-password \
    --region us-east-1 
 docker login \
    --username AWS \
    --password-stdin 000000000000.dkr.ecr.us-east-1.amazonaws.com
CONTAINER_IMAGES="000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15"    
for i in $(echo $CONTAINER_IMAGES 
 sed "s/,/ /g"); do docker pull $i; done
  1. Starten Sie den Container ironpdfengine. Mit diesem Befehl wird ein Container erstellt und im Hintergrund mit Port 33350 ausgeführt.
docker run -d -p 33350:33350 000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15