將IronPDF新增到現有的Docker容器中
IronPDF for .NET Standard現在完全支援Docker,包括適用於Linux和Windows的Azure Docker容器。
您想將IronPDF部署為單獨的Docker容器嗎? 了解更多關於IronPDFEngine 教學指南。
為什麼在Azure上使用Docker?
除了出色的企業擴展性,Azure上的Docker容器比普通的WebApps擁有更多的權限。這允許啟用系統存取GDI+圖形來渲染SVG字體。
IronPDF和Linux入門
如果您對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上效果更佳。 這是因為預先需求已由您的Docker文件中的apt-get樣式包管理器安裝。
:path=/static-assets/pdf/content-code-examples/get-started/ironpdf-docker-3.cs
// Disable automatic configuration of Linux and Docker dependencies
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
Imports IronPdf
' Disable automatic configuration of Linux and Docker dependencies
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = False
禁用GPU加速
Linux Docker容器通常無法存取GPU。 預設情況下禁用GPU加速。 如果您已啟用ChromeGpuModes.Enabled,我們強烈建議您為Docker部署禁用它:
:path=/static-assets/pdf/content-code-examples/get-started/ironpdf-docker-4.cs
// 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 with .NET 10
Ubuntu 24.04 (Noble)使用64位time_t轉換包,因此某些庫名稱與早期Ubuntu版本不同(例如,用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 with .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 with .NET 8
Ubuntu 22 with .NET 7
Ubuntu 20 with .NET 6
Ubuntu 20 with .NET 5
Ubuntu 20 with .NET 3.1 LTS
Ubuntu 18 with .NET 3.1 LTS
Debian Linux Docker文件
Debian 12 with .NET 8
Debian 11 with .NET 7
Debian 11 with .NET 6
Debian 11 with .NET 5
Debian 11 with .NET 3.1 LTS
Debian 10 with .NET 5
Debian 10 with .NET 3.1 LTS
Alpine Linux Docker文件
在Alpine Linux上運行IronPDF不受支援。 我們希望能夠做到,但我們無法做到。 坦白說,我們喜歡Alpine並希望這個專案繼續下去並成長。 截至2023年,Alpine仍然使用過時的"musl"C語言庫,這使得Chromium開發者尚無法完全支援此OS。
在.NET 6中使用Alpine Docker與IronPdfEngine
IronPDF提供了一個包含所有IronPDF功能的容器鏡像。 這使得在Alpine上運行的專案可以通過連接到IronPdfEngine容器來存取IronPDF功能。
步驟1:提取並運行IronPDF引擎Docker鏡像
在您的終端中執行以下命令來提取並運行IronPDF引擎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上越來越受歡迎,因為它們提供更高的性能和擴展性,並給開發者更多的權限來配置實例。
由於可以更高層次地存取圖形庫和虛擬顯卡,因此IronPDF在Azure上的Docker容器(Windows或Linux)中將實現更出色的文字渲染。
文章'適用於Docker的Visual Studio容器工具'是一個很棒的入門指南。
這是一個範例Windows容器Dockerfile,針對 .NET Core 3.1
Windows Server 2019 .NET 6.0
預配置的Windows容器包含運行IronPDF所需的所有依賴項。
存取Docker資料庫以探索更多預配置映像用於運行IronPDF。
常見問題
如何將.NET的PDF生成庫整合到Docker容器中?
您可以通過使用Microsoft的官方Docker鏡像和IronPdf.Linux NuGet包對於Linux,或為Windows環境準備的預配置Windows Docker容器,將IronPDF(一個.NET的PDF生成庫)整合到Docker容器中。
使用Docker容器在Azure上進行PDF操作有哪些好處?
在Azure上使用Docker容器進行PDF操作提供了增強的企業級擴展性和比普通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容器運行它。
使用預配置Docker容器對於.NET庫的目的何在?
預配置Docker容器提供運行IronPDF所需的所有依賴項,以確保高性能和可擴展性,尤其是在Azure等平台上部署時特別有利。
如何為Docker中的.NET應用程式配置.NET的PDF庫?
您可以通過將IronPDF整合到Linux和Windows Docker容器中,為Docker中的.NET應用程式配置,以實現微服務架構內的強大PDF功能。
部署Docker中的.NET庫的建議設置步驟有哪些?
建議的步驟包括使用如IronPdf.Linux的Linux優化套件,禁用自動依賴項安裝,預初始化IronPDF以防止在Docker環境運行時的延遲。
如何在運行.NET 6.0的Windows Server 2019 Docker容器中設置.NET的PDF庫?
在Windows Server 2019 Docker容器中設置.NET的PDF庫,使用包含運行IronPDF所需的所有依賴項和配置的預配置Dockerfile。
為什麼在Docker設置中禁用.NET庫的GPU加速?
在Docker中為IronPDF禁用GPU加速可以通過避免在GPU資源有限的環境中可能的圖形相關問題,實現更流暢的部署和性能。

