託管您自己的 IronPDF Docker 容器

This article was translated from English: Does it need improvement?
Translated
View the article in English
僅適用於 IronPDF v.2023.2.x及以上版本

IronPdfEngine 是一個 gRPC 服務,可以處理 PDF 的創建、寫入、編輯和閱讀。

IronPDF Docker 已準備好運行與 IronPDF 兼容的 docker 服務。 (v2023.2.x 及以上). 這將幫助開發人員解決他們在使用 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/

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

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

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

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

預設情況下,IronPDF for Docker 的版本將與 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 version e.g. 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 檔案:

```yaml
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

然後運行您的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#

步驟 5 - 享受

運行您的 IronPDF 代碼,您的應用程式現在與 Docker 中的 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#