IronPDF 開始使用 在 Docker 中託管和使用 IronPDFEngine 以遠端容器方式運行IronPDF Curtis Chau 更新:2025年12月3日 下載 IronPDF NuGet 下載 DLL 下載 Windows Installer 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 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 NuGet套件加入您的專案中。 NuGet 注意:IronPdf.Linux 和 IronPdf.MacOs 軟體包都包含IronPDF。 為了減小應用程式的大小,我們建議只安裝IronPDF。 軟體包 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; $vbLabelText $csharpLabel 為 Docker 容器配置IronPDF 無需 Docker Compose 使用上一個步驟中指定的版本來執行 Docker 容器。 必須安裝 Docker。 設定 前往https://hub.docker.com/r/ironsoftwareofficial/ironpdfengine 拉取最新的 ironsoftwareofficial/ironpdfengine 鏡像 docker pull ironsoftwareofficial/ironpdfengine docker pull ironsoftwareofficial/ironpdfengine SHELL 或下載特定版本(建議) docker pull ironsoftwareofficial/ironpdfengine:2025.3.6 docker pull ironsoftwareofficial/ironpdfengine:2025.3.6 SHELL 運行 ironsoftwareofficial/ironpdfengine 容器。 此命令將建立一個容器,並在後台使用連接埠 33350 運行它。 docker run -d -p 33350:33350 -e IRONPDF_ENGINE_LICENSE_KEY=MY_LICENSE_KEY ironsoftwareofficial/ironpdfengine:2025.3.6 docker run -d -p 33350:33350 -e IRONPDF_ENGINE_LICENSE_KEY=MY_LICENSE_KEY ironsoftwareofficial/ironpdfengine:2025.3.6 SHELL 使用 Docker Compose 關鍵在於建立一個 Docker 網絡,使 IronPdfEngine 和你的應用程式能夠相互存取。 設定"depends_on"以確保 IronPdfEngine 在應用程式啟動之前已啟動。 設定 先建立一個 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 --timestamps docker compose up --detach --force-recreate --remove-orphans --timestamps SHELL 連接到 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 = 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"); $vbLabelText $csharpLabel 連接類型 您可以根據要建立的連線類型指派幾個 IronPdfConnectionType。 以下是可供出租的房產清單: LocalExcutable :要連接到在本機上執行可執行檔的 IronPdfEngine"伺服器",我們使用此選項。 一個簡單的例子是 WinForm 發票應用程序,它可以在本地生成 PDF 文件,而無需依賴雲端服務。 Docker :當嘗試連線到本機或雲端的 Docker 容器時,應使用此選項。 RemoteServer :此選項用於雲端 IronPdfEngine。 它透過 HTTP 或 HTTPS 協定連接到雲端託管(例如 Docker)的 IronPdfEngine 實例。 請注意,由於這是連接到遠端伺服器,因此需要完整的 URL(包括 HTTP 或 HTTPS 協定)。 自訂:要完全控制和自訂連接,您可以使用此選項。 此選項使用您自訂的Grpc.Core.ChannelBase ,而不是上面定義的其他選項。 開發人員可以透過建立新的Grpc.Core.Channel物件或使用.NET(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.cs using 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(); $vbLabelText $csharpLabel 使用 WithCustomChannel 的替代方法 另一種方法是利用 IronPdf.GrpcLayer 提供的 WithCustomChannel 方法。 WithCustomChannel 接受兩個參數,customChannel,即您的自訂 gRPC 通道,以及 metadata。 metadata 參數是可選的,預設為 null。 :path=/static-assets/pdf/content-code-examples/how-to/ironpdfengine-docker-use-grpc-alt.cs using 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(); $vbLabelText $csharpLabel 在 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 中啟動並運行! 請注意不支援水平縮放。 請參閱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 容器執行個體中啟動並執行! 請注意不支援水平縮放。 請參閱IronPdfEngine 限制以了解更多資訊。 在 AWS ECR 公用庫中取得 IronPdfEngine 先決條件 必須安裝 Docker。 設定 前往https://gallery.ecr.aws/v1m9w8y1/ironpdfengine 拉取 v1m9w8y1/ironpdfengine 鏡像 docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine SHELL 或下載特定版本(建議) docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine:2023.12.6 docker pull https://gallery.ecr.aws/v1m9w8y1/ironpdfengine:2023.12.6 SHELL 運行 ironpdfengine 容器。 此命令將建立一個容器,並在後台使用連接埠 33350 運行它。 docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine SHELL 請參閱"更新程式碼以使用 IronPdfEngine "部分,以了解如何設定IronPDF客戶端以使用 IronPdfEngine。 從應用市場取得 IronPdfEngine 為了幫助您快速上手,我們已在 Azure 和 AWS Marketplace 上部署了 IronPdfEngine。 Azure Marketplace 設定 前往Azure Marketplace 上的IronPDF Docker 容器。 點選"立即取得"和"繼續"。 完成"基本資訊"、"叢集詳細資料"和"應用程式詳細資料"以建立 Kubernetes 服務。 部署完成後,導覽至左側邊欄並選擇 Kubernetes 資源 > 執行指令。 運行以下命令: kubectl get services kubectl get services SHELL 有了外部 IP 和連接埠信息,就可以相應地配置 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"); $vbLabelText $csharpLabel AWS Marketplace 先決條件 必須安裝 Docker。 必須安裝並登入 AWS CLI。 設定 前往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; done 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 SHELL 運行 ironpdfengine 容器。 此命令將建立一個容器,並在後台使用連接埠 33350 運行它。 docker run -d -p 33350:33350 000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15 docker run -d -p 33350:33350 000000000000.dkr.ecr.us-east-1.amazonaws.com/iron-software/ironpdfengine:2024.1.15 SHELL IronPdfEngine 健康檢查 檢查 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 YAML 常見問題解答 如何使用 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 映像。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 準備好開始了嗎? Nuget 下載 17,803,474 | 版本: 2026.3 剛剛發布 開始免費試用 免費 NuGet 下載 總下載量:17,803,474 查看許可證 還在滾動嗎? 想快速取得證據? PM > Install-Package IronPdf 運行範例看著你的HTML程式碼變成PDF檔。 免費 NuGet 下載 總下載量:17,803,474 查看許可證