託管您自己的 IronPDF Docker 容器
僅適用於 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/
注意:IronPdf
、IronPdf.Linux
和 IronPdf.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
步驟 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)
步驟 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")