已更新 2025年2月18日
分享:

以遠端容器形式運行IronPDF

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

IronPdfEngine 是一個獨立的服務,能夠處理 PDF 的創建、寫入、編輯和讀取。 IronPDF Docker 已準備好運行與 IronPDF(v2023.2.x 及以上版本)兼容的 Docker 服務。 這將幫助開發者解決他們在使用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

安裝 IronPDF

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

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

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

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

確定所需的容器版本

根據預設,Docker 版本的 IronPDF 將與 NuGet 上的 IronPDF 當前版本相匹配。 您可以使用以下程式碼手動檢查版本:

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

設置 IronPDF for Docker Container

沒有 Docker Compose

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

  • Docker 必須安裝。

    設定

  1. 前往 https://hub.docker.com/r/ironsoftwareofficial/ironpdfengine

  2. 拉取最新的ironsoftwareofficial/ironpdfengine映像
docker pull ironsoftwareofficial/ironpdfengine

或者拉取特定版本(推薦)

docker pull ironsoftwareofficial/ironpdfengine:2025.3.6
  1. 運行 ironsoftwareofficial/ironpdfengine 容器。

    此命令將創建一個容器並在後台運行,端口為33350。

docker run -d -p 33350:33350 -e IRONPDF_ENGINE_LICENSE_KEY=MY_LICENSE_KEY ironsoftwareofficial/ironpdfengine:2025.3.6

與 Docker Compose 一起

關鍵在於設置一個 Docker 網絡,使 IronPdfEngine 和您的應用程序可以相互看見。 將 'depends_on' 設定為確保 IronPdfEngine 啟動之前您的應用程式已經啟動。

設定

  1. 首先,創建一個docker-compose.yml文件。使用以下模板設置您的 Docker Compose 文件:
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. 將 IronPdfEngine 的地址設定為應用程式 (myconsoleapp) 中的 "myironpdfengine:33350"

  2. 執行 docker compose
docker compose up --detach --force-recreate --remove-orphans --timestamps

連接到IronPdfEngine

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

: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");

在 AWS ECS 上部署 IronPdfEngine

先決條件

設置

  1. 創建 ECS 集群。 請參閱此指南,了解如何使用控制台為 Fargate 和 External 啟動類型創建集群

  2. 创建任务定义。 請參閱此指南以使用主控台創建任務定義

    建議設定:

    • AWS Fargate
    • 建議至少配置 1 個 vCPU 及 2 GB 的 RAM。 根據您的工作負載,如果您正在處理的PDF文件超過10頁或遇到大量的請求,請選擇更高的等級。
    • 網路模式: awsvpc
    • 端口映射:
    "containerPort": 33350,
    "hostPort": 33350,
    "protocol": "tcp",
    "appProtocol": "grpc"
  • 影像 URI:指向我們的任何 IronPdfEngine。 例如,"ironsoftwareofficial/ironpdfengine:2024.1.20"(來自 DockerHub)
  • AWS 權限網路 都由您自行負責
  • 建議啟用 Amazon CloudWatch。 啟用日誌記錄
  • 容器啟動順序 是必要的,如果您想在相同的任務定義中部署您的應用程式容器。
  1. 執行任務定義。 您可以將任務定義運行為任務服務。 請遵循此指南,了解如何使用控制台創建服務

    建議設定:

    • 啟動類型:AWS Fargate
    • 公用 IP:測試時開啟生產時關閉。 安全與 AWS 網路皆需自行負責。
  2. 享受! IronPdfEngine Docker 已在您的 AWS 上運行!

    不支援水平擴展。 請參考IronPdfEngine 限制以獲取更多資訊。)


在 Azure 容器实例上部署 IronPdfEngine

先決條件

設置

  1. 创建 Azure 容器。 請參閱此快速入門指南,了解如何使用 Azure 入口網站部署 Azure 中的容器實例

    建議設定:

    • 圖片來源:其他註冊表
    • 影像ironsoftwareofficial/ironpdfengine:2024.1.20(來自 Docker Hub)
    • 作業系統類型:Linux
    • 大小:至少 1 個 vCPU 和 2 GiB 記憶體,或更高
    • 端口:TCP端口33350
  2. 享受! IronPdfEngine docker 已在您的 Azure Container Instances 中啟動並運行!

    不支援水平擴展。 請參考IronPdfEngine 限制以獲取更多資訊。)


在 AWS ECR 公共圖庫中獲取 IronPdfEngine

先決條件

  • Docker 必須安裝。

設置

  1. 前往 https://gallery.ecr.aws/v1m9w8y1/ironpdfengine

  2. 拉取 v1m9w8y1/ironpdfengine 映像
docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine

或者拉取特定版本(推薦)

docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine:2023.12.6
  1. 运行 ironpdfengine 容器。

    此命令將創建一個容器並在後台運行,端口為33350。

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

了解如何配置 IronPdf 客戶端以利用 IronPdfEngine,請導航到 "更新代碼以使用 IronPdfEngine" 部分。


從市場獲取IronPdfEngine

為了幫助您快速入門,我們已在 Azure 和 AWS 市集上設置了 IronPdfEngine。

Azure 市場

Azure 市場

設定

  1. 前往Azure Marketplace上的IronPDF Docker Container。 點擊“立即獲取”和“繼續”。

  2. 完成「基本資料」、「叢集詳情」和「應用程式詳情」以建立 Kubernetes 服務。

  3. 部署完成後,在左側的側邊欄中,前往 Kubernetes 資源 -> 執行命令。 運行以下命令:
kubectl get services
Kubernetes 服務 - 運行命令

使用 EXTERNAL-IP 和 PORT(S) 的資訊,您可以相應地配置 IronPDFEngine 連接。

: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");

AWS Marketplace

AWS Marketplace

先決條件

  • Docker 必須安裝。
  • AWS CLI 必須安裝並登入。

    設定

  1. 前往AWS Marketplace上的IronPdfEngine。 點擊「繼續訂閱」。

  2. 接受條款。

    接受最終用戶許可協議
  3. 繼續配置。

    訂閱完成
  4. 拉取 ironpdfengine 映像檔。 此步驟將向您展示拉取 ironpdfengine 映像的命令。

    啟動此軟體

    For Example:

    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
  5. 運行 ironpdfengine 容器。 此命令將創建一個容器並讓其在背景中運行,使用端口33350。
docker run -d -p 33350:33350 000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15