將 IronPDF 加入現有的 Docker 容器
IronPDF for .NET Standard 現已全面支援 Docker,包括適用於 Linux 和 Windows 的 Azure Docker 容器。
您是否希望將 IronPDF 部署為獨立的 Docker 容器? 進一步了解 IronPdfEngine 教學指南。
為何要在 Azure 上使用 Docker?
除了卓越的 Enterprise 級可擴展性外,Azure 上的 Docker 容器比一般 WebApp 擁有更多權限。這使得 SVG 字型能夠被渲染,因為系統已啟用對 GDI+ 圖形的存取權限。
IronPDF 與 Linux Primer
如果您對 Docker 與 .NET 的結合尚感陌生,我們推薦這篇關於設定 Docker 除錯及與 Visual Studio 專案整合的優質文章。
我們也強烈建議您閱讀我們的《IronPDF Linux 設定與相容性指南》。
推薦的 Linux Docker 發行版
我們建議使用以下最新的 64 位元 Linux 作業系統,以便"輕鬆設定"IronPDF。
- Ubuntu 24 (Noble)
- Ubuntu 22
- Ubuntu 20
- Ubuntu 18
- Debian 11
- Debian 10
- CentOS 8
- Amazon AWS Linux 2 閱讀 IronPDF AWS Lambda 設定指南
我們建議使用 Microsoft 針對 .NET 提供的官方 Docker 映像檔。 其他 Linux 發行版部分受支援,但可能需要手動設定。 請參閱我們的"Linux 手動設定"指南。
IronPDF Linux Docker 安裝
使用針對 Linux 優化的 NuGet 套件
我們建議使用 IronPdf.Linux NuGet 套件,而非標準的 IronPDF 套件,以節省磁碟空間,並避免在啟動 Docker 實例時下載相關資源。 別擔心,在 Windows 或 macOS 上開發時依然能正常運作——它只是針對 Linux 進行了優化。
Install-Package IronPdf.Linux
另一種解決方案是在標準的 IronPDF NuGet 套件之上,直接加入 IronPdf.Native.Chrome.Linux。
Install-Package IronPdf.Native.Chrome.Linux
避免自動安裝依賴項
許多使用者回報,當 LinuxAndDockerDependenciesAutoConfig 設定為 false 時,在 Linux 與 Docker 環境下能獲得更佳的成效。 這是因為這些先決條件已由 apt-get 風格的套件管理工具安裝在您的 Docker 檔案中。
// Disable automatic configuration of Linux and Docker dependencies
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
// Disable automatic configuration of Linux and Docker dependencies
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
' Disable automatic configuration of Linux and Docker dependencies
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = False
停用 GPU 加速
Linux Docker 容器通常無法存取 GPU。 GPU 加速預設為停用狀態。 若您已啟用 ChromeGpuModes.Enabled,我們強烈建議您在 Docker 部署時將其停用:
// Disable GPU acceleration for Docker environments
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
// Disable GPU acceleration for Docker environments
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
' Disable GPU acceleration for Docker environments
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
Ubuntu Linux Docker 檔案
Ubuntu 24 搭配 .NET 10
Ubuntu 24.04 (Noble) 使用 64 位元 time_t 轉換套件,因此部分函式庫名稱與較早版本的 Ubuntu 有所不同(例如 libasound2t64 取代 libasound2)。
# Build stage
FROM mcr.microsoft.com/dotnet/sdk:10.0-noble AS build
WORKDIR /app
COPY *.csproj .
RUN dotnet restore
COPY . .
RUN dotnet publish -c Release -o /app/publish
# Runtime stage
FROM mcr.microsoft.com/dotnet/aspnet:10.0-noble AS runtime
# Install IronPDF dependencies for Ubuntu 24.04 Noble (64-bit transition libraries)
RUN apt-get update && apt-get install -y \
libasound2t64 \
libatk1.0-0t64 \
libatk-bridge2.0-0t64 \
libcairo2 \
libcups2t64 \
libdbus-1-3 \
libdrm2 \
libexpat1 \
libfontconfig1 \
libgbm1 \
libglib2.0-0t64 \
libgtk-3-0t64 \
libnspr4 \
libnss3 \
libpango-1.0-0 \
libpangocairo-1.0-0 \
libx11-6 \
libxcb1 \
libxcomposite1 \
libxdamage1 \
libxext6 \
libxfixes3 \
libxkbcommon0 \
libxrandr2 \
fonts-liberation \
wget \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "YourApp.dll"]
Ubuntu 24 搭配 .NET 8
.NET 8 LTS 搭配 Ubuntu 24.04 LTS 是常見的生產環境組合。 64 位元轉換庫的名稱亦同。
# Build stage
FROM mcr.microsoft.com/dotnet/sdk:8.0-noble AS build
WORKDIR /app
COPY *.csproj .
RUN dotnet restore
COPY . .
RUN dotnet publish -c Release -o /app/publish
# Runtime stage
FROM mcr.microsoft.com/dotnet/aspnet:8.0-noble AS runtime
# Install IronPDF dependencies for Ubuntu 24.04 Noble (64-bit transition libraries)
RUN apt-get update && apt-get install -y \
libasound2t64 \
libatk1.0-0t64 \
libatk-bridge2.0-0t64 \
libcairo2 \
libcups2t64 \
libdbus-1-3 \
libdrm2 \
libexpat1 \
libfontconfig1 \
libgbm1 \
libglib2.0-0t64 \
libgtk-3-0t64 \
libnspr4 \
libnss3 \
libpango-1.0-0 \
libpangocairo-1.0-0 \
libx11-6 \
libxcb1 \
libxcomposite1 \
libxdamage1 \
libxext6 \
libxfixes3 \
libxkbcommon0 \
libxrandr2 \
fonts-liberation \
wget \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "YourApp.dll"]
Ubuntu 22 搭配 .NET 8
Ubuntu 22 搭配 .NET 7
Ubuntu 20 搭配 .NET 6
Ubuntu 20 搭配 .NET 5
Ubuntu 20 搭配 .NET 3.1 LTS
Ubuntu 18 搭配 .NET 3.1 LTS
Debian Linux Docker 檔案
搭載 .NET 8 的 Debian 12
搭載 .NET 7 的 Debian 11
搭載 .NET 6 的 Debian 11
搭載 .NET 5 的 Debian 11
搭載 .NET 3.1 LTS 的 Debian 11
搭載 .NET 5 的 Debian 10
搭載 .NET 3.1 LTS 的 Debian 10
Alpine Linux Docker 檔案
不支援在 Alpine Linux 上執行 IronPDF。 我們很想做到,但我們做不到。 坦白說,我們很喜歡 Alpine,並希望這個專案能持續發展並日益壯大。 截至 2023 年,Alpine 仍使用過時的"musl"C 語言函式庫,這使得 Chromium 開發人員目前尚無法完全支援此作業系統。
在 .NET 6 中使用 Alpine Docker 與 IronPdfEngine
IronPDF 提供一個包含所有 IronPDF 功能的容器映像檔。 這使在 Alpine 上運行的專案能夠透過連接 IronPdfEngine 容器來存取 IronPD 的功能。
步驟 1:拉取並執行 IronPDF Engine Docker 映像檔
請在終端機中執行以下指令,以拉取並執行 IronPDF Engine Docker 映像檔:
# Pull the IronPDF Engine Docker Image
docker pull ironsoftwareofficial/ironpdfengine
# Pull the IronPDF Engine Docker Image
docker pull ironsoftwareofficial/ironpdfengine
# Run the IronPDF Engine Docker container
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
# Run the IronPDF Engine Docker container
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
步驟 2:設定主控台應用程式
建立一個針對 .NET 6 的新控制台應用程式。使用 NuGet 套件管理員安裝 IronPdf.Slim NuGet 套件。
Windows Docker 檔案
Windows Docker 容器在 Azure 上日益普及,因其提供更高的效能與可擴展性,並賦予開發人員更多配置執行個體的權限。
由於在 Azure 上的 Docker 容器(Windows 或 Linux)中,IronPDF 能更充分地存取圖形函式庫及虛擬顯示卡,因此實際上能呈現更出色的文字渲染效果。
《Visual Studio Container Tools for Docker》這篇文章是一份非常棒的入門指南。
這是適用於 .NET Core 3.1 的 Windows 容器 Dockerfile 範例
Windows Server 2019 .NET 6.0
預先配置的 Windows 容器已包含執行 IronPDF 所需的所有必要依賴項。
請造訪 Docker 儲存庫,探索更多用於執行 IronPDF 的預先配置映像檔。
常見問題
如何將用於生成 PDF 的 .NET 函式庫整合到 Docker 容器中?
您可以透過 Microsoft 官方的 Docker 映像檔,以及適用於 Linux 的 IronPdf.Linux NuGet 套件,或適用於 Windows 環境的預先配置 Windows Docker 容器,將 IronPDF(一個用於 PDF 生成的 .NET 函式庫)整合至 Docker 容器中。
在 Azure 上使用 Docker 容器進行 PDF 處理有哪些好處?
在 Azure 上使用 Docker 容器進行 PDF 處理,不僅能提供更強大的 Enterprise 級擴展性,還比一般 WebApps 擁有更廣泛的權限。此架構非常適合啟用進階功能,例如透過 GDI+ 圖形存取來渲染 SVG 字型。
哪些 Linux 發行版最適合在 Docker 中執行 .NET PDF 函式庫?
在 Docker 中執行 IronPDF 時,最適合的 Linux 發行版包括 Ubuntu 18/20/22、Debian 10/11、CentOS 8 以及 Amazon AWS Linux 2,因為這些系統提供直觀的設定流程且具備良好的相容性。
如何在 Linux Docker 容器中優化 .NET PDF 函式庫的效能?
為優化效能,請使用 IronPdf.Linux 套件,停用自動依賴項安裝,並透過將 IronPdf.Installation.ChromeGpuMode 設定為 IronPdf.Engines.Chrome.ChromeGpuModes.Disabled 來關閉 GPU 加速。
IronPDF 能否在 Docker 容器內的 Alpine Linux 上運行?
由於「musl」函式庫不相容,IronPDF 無法原生支援 Alpine Linux。若要在 Alpine Linux 上使用 IronPDF,建議透過 IronPdfEngine Docker 容器來執行。
為何要在 .NET 函式庫中使用預先配置的 Docker 容器?
預先配置的 Docker 容器提供了高效執行 IronPDF 所需的所有必要依賴項,確保卓越的效能與可擴展性,這在部署至 Azure 等平台時尤為有益。
如何在 Docker 環境中為 .NET 應用程式設定 .NET PDF 函式庫?
您可透過將 IronPDF for .NET 整合至 Linux 與 Windows Docker 容器中,為 Docker 內的 .NET 應用程式進行配置,從而於微服務架構中啟用強大的 PDF 功能。
在 Docker 中部署 .NET 函式庫的建議設定步驟有哪些?
建議步驟包括使用針對 Linux 優化的套件(如 IronPdf.Linux)、停用自動依賴項安裝,以及預先初始化 IronPDF,以避免在 Docker 環境中執行時發生延遲。
如何在運行 .NET 6.0 的 Windows Server 2019 Docker 容器中設定 .NET PDF 函式庫?
透過預先配置的 Dockerfile,在 Windows Server 2019 Docker 容器中設定 .NET PDF 函式庫。該 Dockerfile 包含在 .NET 6.0 環境下執行 IronPDF for .NET 所需的所有必要依賴項與設定。
為何要在 .NET 函式庫的 Docker 環境中停用 GPU 加速?
在 Docker 中停用 IronPDF 的 GPU 加速功能,可避免 GPU 資源受限環境下可能出現的圖形相關問題,從而實現更順暢的部署與更佳的效能。

