以遠端容器方式運行 IronPDF
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/
注意: IronPdf 、 IronPdf.Linux和IronPdf.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.csstring ironPdfEngineVersion = IronPdf.Installation.IronPdfEngineVersion;Dim ironPdfEngineVersion As String = IronPdf.Installation.IronPdfEngineVersion為 Docker 容器配置 IronPDF
無需 Docker Compose
使用上一個步驟中指定的版本來執行 Docker 容器。
- 必須安裝 Docker。
Setup
- 前往https://hub.docker.com/r/ironsoftwareofficial/ironpdfengine
- 拉取最新的 ironsoftwareofficial/ironpdfengine 鏡像
docker pull ironsoftwareofficial/ironpdfenginedocker pull ironsoftwareofficial/ironpdfengine或下載特定版本(建議)
docker pull ironsoftwareofficial/ironpdfengine:2025.3.6docker pull ironsoftwareofficial/ironpdfengine:2025.3.6- 運行 ironsoftwareofficial/ironpdfengine 容器。
此命令將建立一個容器,並在後台使用連接埠 33350 運行它。
docker run -d -p 33350:33350 -e IRONPDF_ENGINE_LICENSE_KEY=MY_LICENSE_KEY ironsoftwareofficial/ironpdfengine:2025.3.6docker 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 在應用程式啟動之前已啟動。
Setup
- 先建立
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'- 將應用程式(myconsoleapp)中 IronPdfEngine 的位址設定為"myironpdfengine:33350"
- 運行 docker compose
docker compose up --detach --force-recreate --remove-orphans --timestampsdocker compose up --detach --force-recreate --remove-orphans --timestamps連接到 IronPdfEngine
運行你的 IronPDF 程式碼; 您的應用程式現在可以與 Docker 中的 IronPdfEngine 進行通訊了!
:path=/static-assets/pdf/content-code-examples/how-to/ironpdfengine-docker-use.csusing IronPdf;
using IronPdf.GrpcLayer;
// Configure for Docker container
var config = IronPdfConnectionConfiguration.Docker;
config.Host = "localhost";
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 = IronPdfConnectionConfiguration.Docker
config.Host = "localhost"
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")連接類型
您可以根據您希望建立的連線類型指派多個IronPdfConnectionType 。
以下是可供出租的房產清單:
LocalExcutable :要連接到在本機上執行可執行檔的 IronPdfEngine"伺服器",我們使用此選項。 一個簡單的例子是 WinForm 發票應用程序,它可以在本地生成 PDF 文件,而無需依賴雲端服務。
Docker :當嘗試連線到本機或雲端的 Docker 容器時,應使用此選項。
RemoteServer :此選項用於雲端 IronPdfEngine。 它透過 HTTP 或 HTTPS 協定連接到雲端託管(例如 Docker)的 IronPdfEngine 實例。 請注意,由於這是連接到遠端伺服器,因此需要完整的 URL(包括 HTTP 或 HTTPS 協定)。
自訂:要完全控制和自訂連接,您可以使用此選項。 此選項使用您自訂的Grpc.Core.ChannelBase ,而不是上面定義的其他選項。 開發人員可以透過建立新的Grpc.Core.Channel物件或使用Grpc.Net.Client.GrpcChannel.ForAddress(System.String)來建立新通道,從而自訂和完全控制 gRPC 通道。
.NET Framework 與 NetFrameworkChannel
對於 .NET Framework,我們需要不同的設置,因為 gRPC 在 .NET Framework 專案中的工作方式不同。 若要使此方法生效,請確保已安裝Grpc.Core NuGet 套件。 對於此特定設置,我們將使用從Grpc.Core.ChannelBase派生的自訂 gRPC 通道。
讓我們來看這個例子,我們將實現連接通道,使用 IronPDFEngine 建立和儲存 PDF。
由於 gRPC 在 .NET Framework 專案中的工作方式不同,如果下列程式碼不起作用,請嘗試刪除<http>或者<https>地址中的前綴。 )}]
請注意,此範例中需要使用pdf.Dispose 。
:path=/static-assets/pdf/content-code-examples/how-to/ironpdfengine-docker-use-grpc.csusing IronPdf;
// This code demonstrates how to use IronPdf with gRPC in a .NET Framework application.
// 1. Configure connection to use local IronPdfEngine executable
var config = IronPdf.GrpcLayer.IronPdfConnectionConfiguration.Executable;
// 2. Connect to the IronPDF host with the executable configuration
IronPdf.Installation.ConnectToIronPdfHost(config);
// 3. Create a PDF renderer instance
ChromePdfRenderer renderer = new ChromePdfRenderer();
// 4. Render HTML string as PDF document
PdfDocument pdf = renderer.RenderHtmlAsPdf("Hello world");
// 5. Save the PDF to disk
pdf.SaveAs("output.pdf");
// 6. Clean up , this is needed to work
pdf.Dispose();IRON VB CONVERTER ERROR developers@ironsoftware.com使用 WithCustomChannel 的替代方法
另一種方法是利用IronPdf.GrpcLayer提供的WithCustomChannel方法。
WithCustomChannel接受兩個參數, customChannel (即您的自訂 gRPC 通道)和metadata 。 metadata參數是可選的,預設值為null 。
:path=/static-assets/pdf/content-code-examples/how-to/ironpdfengine-docker-use-grpc-alt.csusing IronPdf;
using IronPdf.GrpcLayer;
using Grpc.Core;
// 1. Create custom gRPC channel (.NET Framework style)
var channel = new Channel("123.456.7.8:80", ChannelCredentials.SecureSsl);
// 2. (Optional) Add metadata headers if needed
var metadata = new Metadata
{
{ "Authorization", "Bearer your_token_here" }
};
// 3. Configure IronPDF with custom channel
var config = IronPdfConnectionConfiguration.WithCustomChannel(channel, metadata);
IronPdf.Installation.ConnectToIronPdfHost(config);
// 4. Generate PDF
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("Hello world");
// 5. Save the PDF to disk
pdf.SaveAs("output.pdf");
// 6. Clean up , this is needed to work
pdf.Dispose();IRON VB CONVERTER ERROR developers@ironsoftware.com在 AWS ECS 上部署 IronPdfEngine
先決條件
- 拉取 IronPdfEngine Docker 映像。 這在上面的"為 Docker 容器設定 IronPDF"部分中有所提及。
- 擁有存取 ECS 權限的 AWS 帳戶。
設定
- 建立 ECS 集群。 依照本指南,使用控制台為 Fargate 和 External 啟動類型建立叢集。
- 建立任務定義。 請依照本指南 使用控制台建立任務定義。
推薦設定:
- AWS Fargate
- 建議至少配備 1 個虛擬 CPU 和 2 GB 記憶體。 根據您的工作量,如果您處理的 PDF 文件超過 10 頁或遇到較大的負載請求,請選擇更高的等級。 -網路模式:awsvpc -連接埠映射:
{ "containerPort": 33350, "hostPort": 33350, "protocol": "tcp", "appProtocol": "grpc" }-圖片 URI :指向我們提供的任何 IronPdfEngine。 例如,"ironsoftwareofficial/ironpdfengine:2024.1.20"(來自 DockerHub) AWS 權限和網路配置需自行負責。 建議啟用 Amazon CloudWatch 。 (Enable logging)
- 如果要在相同任務定義中部署應用程式容器,則容器啟動順序是必要的。
- 運行任務定義。 您可以將任務定義作為任務或服務運行。 請依照本指南使用控制台建立服務。
推薦設定:
- 啟動類型: AWS Fargate
- 公網 IP:測試時開啟,生產環境關閉。 安全性和AWS網路方面的問題需要您自行解決。
- 盡情享用! IronPdfEngine docker 已在您的 AWS 中啟動並運行!
[{i:(不支援水平縮放。 請參閱IronPdfEngine 限制以了解更多資訊。
在 Azure 容器執行個體上部署 IronPdfEngine
先決條件
- 拉取 IronPdfEngine Docker 映像。 這在上面的"為 Docker 容器設定 IronPDF"部分中有所提及。
- Azure 帳戶
設定
- 建立一個 Azure 容器。 請依照此快速入門指南,使用 Azure 入口網站在 Azure 中部署容器執行個體。
推薦設定:
-圖片來源:其他登錄檔 -鏡像: ironsoftwareofficial/ironpdfengine:2024.1.20 (來自 Docker Hub) 作業系統類型:Linux -規模:至少需要 1 個虛擬 CPU 和 2 GiB 內存,或更高 -連接埠:TCP 連接埠 33350
- 盡情享用! IronPdfEngine Docker 已在您的 Azure 容器執行個體中啟動並執行!
[{i:(不支援水平縮放。 請參閱IronPdfEngine 限制以了解更多資訊。
在 AWS ECR 公用庫中取得 IronPdfEngine
先決條件
- 必須安裝 Docker。
設定
- 前往https://gallery.ecr.aws/v1m9w8y1/ironpdfengine
- 拉取 v1m9w8y1/ironpdfengine 鏡像
docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfenginedocker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine或下載特定版本(建議)
docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine:2023.12.6docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine:2023.12.6- 運行 ironpdfengine 容器。
此命令將建立一個容器,並在後台使用連接埠 33350 運行它。
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfenginedocker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine請參閱"更新程式碼以使用 IronPdfEngine "部分,以了解如何設定 IronPDF 用戶端以使用 IronPdfEngine。
從應用市場取得 IronPdfEngine
為了幫助您快速上手,我們已在 Azure 和 AWS Marketplace 上部署了 IronPdfEngine。
Azure Marketplace
Setup
- 前往Azure Marketplace 上的 IronPDF Docker 容器。 點選"立即取得"和"繼續"。
- 完成"基本資訊"、"叢集詳細資料"和"應用程式詳細資料"以建立 Kubernetes 服務。
- 部署完成後,導覽至左側邊欄並選擇 Kubernetes 資源 > 執行指令。 運行以下命令:
kubectl get serviceskubectl get services
有了外部 IP 和連接埠信息,就可以相應地配置 IronPDFEngine 連接。
:path=/static-assets/pdf/content-code-examples/how-to/pull-run-ironpdfengine-azure-marketplace.csusing 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")AWS Marketplace
先決條件
- 必須安裝 Docker。
- 必須安裝並登入 AWS CLI。
Setup
前往AWS Marketplace 上的 IronPdfEngine 。 點選"繼續訂閱"。
- 接受條款。

- 繼續進行配置。

- 拉取 ironpdfengine 鏡像。 此步驟將向您展示拉取 ironpdfengine 鏡像的命令。

例如:
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; doneaws 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- 運行 ironpdfengine 容器。 此命令將建立一個容器,並在後台使用連接埠 33350 運行它。
docker run -d -p 33350:33350 000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15docker run -d -p 33350:33350 000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15IronPdfEngine 健康檢查
檢查 Docker 容器的健康狀況對於確保生產環境中的可靠性和可用性至關重要。 透過檢查 IronPdfEngine Docker 容器,開發人員可以在服務故障時重新啟動服務,並在需求增加時擴展資源,同時還可以監控持續運行的應用程式。
為了檢查 IronPdfEngine 的運作狀況,我們可以向 IronPdfEngine 的相同連接埠(預設為 33350)發送 gRPC 請求,以驗證是否收到回應。
使用 gRPC 進行健康檢查
IronPdfEngine 遵循標準的 gRPC 健康檢查模式,採用以下協議結構。
message HealthCheckRequest {
string service = 1; // Name of the service to check (e.g., "IronPdfEngine")
}由於我們要檢查 IronPdfEngine,因此我們將服務名稱替換為IronPdfEngine 。
以下是使用Postman和 JavaScript 向本機 IronPdfEngine 服務發送 gRPC 請求的範例,預設編號為 33350。

從回應中可以看到,狀態回應為SERVING ,表示服務已啟動並正在運作。 如果容器不健康,則狀態回應為NOT_SERVING 。
使用 Kubernetes 設定進行健康檢查
對於 Kubernetes 設置,我們可以使用以下方法來檢查服務是否健康。
livenessProbe:
exec:
command:
- /bin/grpc_health_probe
- -addr=:33350
- -rpc-timeout=5s livenessProbe:
exec:
command:
- /bin/grpc_health_probe
- -addr=:33350
- -rpc-timeout=5s常見問題解答
如何使用 Docker 在 C# 中將 HTML 轉換為 PDF?
您可以使用 IronPDF 的 Docker 設置在 C# 中將 HTML 轉換為 PDF。在 Docker 容器中部署 IronPdfEngine 並使用 RenderHtmlAsPdf 等方法來實現此目的。
使用 IronPdfEngine 在 Docker 中有什麼好處?
使用 IronPdfEngine 在 Docker 中提供了一個預安裝和可靠的環境,減少了依賴性問題,並確保所有必要的組件(如 Chrome 和 Pdfium 二進制文件)都可用。
如何使用 Docker Compose 設置 IronPdfEngine?
創建一個 docker-compose.yml 文件並定義服務和網絡。使用 depends_on 指令確保 IronPdfEngine 在您的應用程序之前啟動。
部署 IronPdfEngine 在 AWS ECS 需要哪些步驟?
要在 AWS ECS 上部署,創建一個 ECS 集群,定義任務定義,並使用 AWS Fargate 進行資源分配。然後,運行您的任務或服務以啟動 IronPdfEngine。
如何從 AWS ECR 公共畫廊拉取 IronPdfEngine?
訪問 AWS ECR 公共畫廊,找到 IronPdfEngine 圖像,並按照提供的命令拉取並運行容器。
是否可以從 Azure Marketplace 使用 IronPdfEngine?
是的,IronPdfEngine 可在 Azure Marketplace 中找到。您可以按照 Marketplace 頁面上的設置說明來部署 Docker 容器。
使用 IronPdfEngine 時我應該注意哪些限制?
IronPdfEngine 不支持水平擴展。在計劃部署時,必須考慮這一限制以確保滿足應用程序的需求。
如何高效處理 Docker 的 PDF 生成和操作任務?
部署 IronPdfEngine 在 Docker 容器中,以高效管理 PDF 的生成和操作任務,利用 Docker 的能力來處理依賴性並確保一致的環境。
在 Azure Container Instances 部署 IronPdfEngine 的要求是什麼?
要在 Azure 容器實例上進行部署,請確保您擁有 Azure 帳戶並獲取用於部署的 IronPdfEngine Docker 映像。








