以遠端容器形式運行IronPDF

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

IronPdfEngine 是一個獨立的服務,能夠處理 PDF 的創建、寫入、編輯和讀取。 IronPDF Docker 已準備好運行與 IronPDF 兼容版本的 Docker 服務。(v2023.2.x 及以上). 這將幫助開發者解決他們在使用IronPDF時可能遇到的部署問題。

為何將 IronPDF 作為獨立容器運行是一個好主意

IronPDF 需要同時使用 Chrome 和 Pdfium 二進制文件來運行,這些文件的大小非常龐大。(數百MB). 它還需要在機器上安裝幾個依賴項。

使用此方法,您的客戶端將只佔用一小部分大小。(以 MB 为单位).

避免部署問題

配置環境/容器以正確包含所有依賴項可能會有困難。 使用 IronPDF Docker 容器意味著 IronPDF 已經預先安裝且保證正常工作,避免了所有部署和依賴性問題。

版本

IronPDF Docker 標籤基於 IronPdfEngine 版本本身。 這不是IronPDF產品的相同版本。

每個IronPDF版本都會有相對應的IronPdfEngine版本。 版本號碼必須與 IronPDF Docker 版本相匹配。

例如:IronPDF for Java 版本 2023.2.1 需要 IronPdfEngine 版本 2023.2.1。 您不能使用不匹配的 IronPdfEngine 和 IronPDF 版本。

如何使用 IronPDF Docker

步驟 1 - 安裝 IronPDF

將 IronPdf.Slim Nuget 套件添加到您的項目中。

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

更多資訊:https://ironpdf.com/docs/

注意:IronPdfIronPdf.LinuxIronPdf.MacOs 套件都包含 IronPdf.Slim。

要減少應用程序的大小,我們建議只安裝IronPdf.Slim。 IronPdf.Native.Chrome.xxx 套件已不再使用,所以您可以將其從您的專案中移除。

步驟 2 - 確定所需的容器版本

根據預設,Docker 版本的 IronPDF 將與 NuGet 上的 IronPDF 當前版本相匹配。

您還可以通過手動檢查版本來確認:

: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#

步驟 3 - 設置 IronPDF for Docker 容器

步驟 3.i - 沒有 Docker Compose

使用上一步驟的版本運行 docker 容器。

例如 IronPDF for Docker 版本,例如 2023.2.1: 請提供內容以進行翻譯。

docker network create -d bridge --attachable --subnet=172.19.0.0/16 --gateway=172.19.0.1 ironpdf-network

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.2.1 請提供內容以進行翻譯。

Port 33350 是 IronPdfEngine 的默認內部端口。

現在 IronPDF for Docker 已經運行中了。!

步驟 3.ii - 使用 Docker Compose

使用以下模板設置您的 Docker Compose 文件:

version: "3.3"

services:
  ironpdfengine:
    container_name: ironpdfengine
    image: ironsoftwareofficial/ironpdfengine:latest
    networks:
      ironpdf-network:
        ipv4_address: 172.19.0.2
  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:
        ipv4_address: 172.19.0.3
    depends_on:
      ironpdfengine:
        condition: service_started

networks:
  ironpdf-network:
    driver: bridge
    ipam:
      config:
        - subnet: 172.19.0.0/16
          gateway: 172.19.0.1
YAML

然後運行您的docker compose命令,如下所示:

docker compose up --detach --force-recreate --remove-orphans --timestamps

步驟 4 - 配置您的 IronPDF 客戶端

添加這一行:

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

var config = new IronPdfConnectionConfiguration();
config.ConnectionType = IronPdfConnectionType.Docker;
IronPdf.Installation.ConnectToIronPdfHost(config);
Imports IronPdf.GrpcLayer

Private config = New IronPdfConnectionConfiguration()
config.ConnectionType = IronPdfConnectionType.Docker
IronPdf.Installation.ConnectToIronPdfHost(config)
VB   C#

步驟五 - 享受

在 Docker 中運行您的 IronPDF 代碼,您的應用程式現在可以與 IronPdfEngine 通信了。!

客户端測試程式碼

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

var config = new IronPdfConnectionConfiguration();
config.ConnectionType = IronPdfConnectionType.Docker;
IronPdf.Installation.ConnectToIronPdfHost(config);

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

Private config = New IronPdfConnectionConfiguration()
config.ConnectionType = IronPdfConnectionType.Docker
IronPdf.Installation.ConnectToIronPdfHost(config)

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