將IronPDF新增到現有的Docker容器中

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF for .NET Standard現在完全支援Docker,包括適用於Linux和Windows的Azure Docker容器。

您想將IronPDF部署為單獨的Docker容器嗎? 了解更多關於IronPDFEngine 教學指南

Docker標誌
Azure標誌
Linux標誌
AWS標誌
Windows標誌

為什麼在Azure上使用Docker?

除了出色的企業擴展性,Azure上的Docker容器比普通的WebApps擁有更多的權限。這允許啟用系統存取GDI+圖形來渲染SVG字體。

IronPDF和Linux入門

如果您對Docker和.NET不熟悉,我們建議閱讀這篇關於設置Docker除錯和與Visual Studio專案整合的文章

我們也強烈建議您閱讀我們的IronPDF Linux安裝和相容性指南

推薦的Linux Docker發行版

我們建議使用以下最新的64位Linux操作系統來"輕鬆配置"IronPDF。

我們推薦使用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
$vbLabelText   $csharpLabel

禁用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
$vbLabelText   $csharpLabel

Ubuntu Linux Docker文件

Docker標誌
Ubuntu標誌

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文件

Docker標誌
Debian標誌

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
SHELL
# 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
SHELL

步驟2:設置控制台應用程式

建立一個針對.NET 6的新控制台應用程式。使用NuGet包管理器安裝IronPdf.Slim NuGet包。

Windows Docker文件

Docker標誌
Windows標誌

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所需的所有依賴項。

請注意 請注意,這些容器不是用來構建.NET應用程式的,而是用來運行它們的。

存取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資源有限的環境中可能的圖形相關問題,實現更流暢的部署和性能。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備開始了嗎?
Nuget 下載 20,296,129 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想快速獲得證明嗎? PM > Install-Package IronPdf
執行範例 看您的HTML變成PDF。