將 IronPDF 添加到現有的 Docker 容器
IronPDF for .NET Standard 現在完全支持 Docker,包括適用於 Linux 和 Windows 的 Azure Docker 容器。
您想將 IronPDF 部署為單獨的 Docker 容器嗎?了解更多關於 IronPdfEngine.
為何在 Azure 上使用 Docker?
在卓越的企業擴充性之外,使用 Azure 上的 Docker 容器相較於普通 Web 應用程式享有更多的權限。
這允許渲染SVG字體,因為系統可以使用GDI+圖形。
IronPDF 與 Linux 入門指南
如果您對 Docker 與 .NET 不熟悉,我們建議您閱讀這篇很棒的文章 設置 Docker 調試和與 Visual Studio 專案的整合我們也強烈建議您閱讀我們的 IronPDF Linux 安裝和相容性指南
推薦的 Linux Docker 發行版
我們推薦以下最新的 64 位元 Linux 操作系統,以輕鬆配置 IronPDF。
- Ubuntu 22
- Ubuntu 20
- Ubuntu 18
- Debian 11
- Debian 10 [目前的 Microsoft Azure 預設 Linux 作業系統分發版本]_
- CentOS 8
- Amazon AWS Linux 2 閱讀 IronPDF AWS Lambda 設置指南
我們建議使用微軟的 官方 Docker 映像檔 . 其他 Linux 發行版受到部分支持,但可能需要使用 apt-get 進行手動配置。請參閱我們的 "Linux 手動設置"指南
在本文件中包括適用於Ubuntu和Debian的運行中的Docker文件:"
IronPDF Linux Docker 安裝基本要素
使用針對 Linux 優化的 NuGet 套件
我們建議使用 IronPdf.Linux NuGet 套件而不是常規 IronPDF 套件可節省磁碟空間並避免在啟動 Docker 實例時下載資源。別擔心,它在 Windows 或 macOS 上開發時仍然有效——它只是針對 Linux 進行了優化。
Install-Package IronPdf.Linux
另一個解決方案是簡單地添加 IronPdf.Native.Chrome.Linux 在定期之上 IronPDF NuGet 套件。
Install-Package IronPdf.Native.Chrome.Linux
避免自動安裝依賴項
許多用戶報告,在 Linux 和 Docker 上將 LinuxAndDockerDependenciesAutoConfig
設置為 false 時,結果更好。這是因為預先條件已經通過 apt-get 風格的包管理器安裝在您的 Docker 文件中。
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
禁用 GPU 加速
Linux Docker 容器通常無法訪問 GPU。默認情況下,GPU 加速是禁用的。如果您已啟用 ChromeGpuModes.Enabled,我們強烈建議您在 Docker 部署時禁用它:
IronPdf.Installation.ChromeGpuMode=IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
"提前"初始化
您也可以選擇呼叫 `IronPdf.Installation.Initialize()手動啟動 IronPDF 的方法。Docker 實例首次使用 IronPDF 時,下載先決條件可能需要一些時間。通過在創建實例時調用此代碼,我們可以避免這種情況:
IronPdf.Installation.Initialize();
Ubuntu Linux DockerFiles
Ubuntu Linux DockerFiles
Ubuntu 22 搭配 .NET 8
請將使用者從 'app' 更改為 'root'。這將確保授予庫足夠的權限。進行此更改後,就不需要為 IronCefSubprocess 設定 'rwx' 權限。
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 DockerFiles
Debian 12 與 .NET 8
Debian 11 搭配 .NET 7
Debian 11 與 .NET 6
Debian 11 與 .NET 5
Debian 11 與 .NET 3.1 LTS
Debian 10 與 .NET 5
Debian 10 搭配 .NET 3.1 LTS
Alpine Linux DockerFiles
在 Alpine Linux 上運行 IronPDF 是不被支持的。我們希望可以,但我們無法做到。坦白說,我們喜歡 Alpine 並希望這個項目能繼續發展。截至 2023 年,Alpine 仍然使用過時的 "musl" C 語言庫,這使得 Chromium 開發者尚未能完全支持此操作系統。
在 .NET 6 中使用 Alpine Docker 和 IronPdfEngine
IronPdf 提供了一個包含所有 IronPdf 功能的容器映像。這允許在 Alpine 上運行的項目通過連接到 IronPdfEngine 容器來訪問 IronPdf 的功能。
步驟 1:拉取並運行 IronPdf 引擎 Docker 映像
在終端中執行以下命令以拉取並運行 IronPdf 引擎 Docker 映像:
docker pull ironsoftwareofficial/ironpdfengine
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
第2步:設置控制台應用程式
建立一個針對 .NET 6 的新控制台應用程式。
使用 NuGet 套件管理器安裝 IronPdf.Slim 套件。
IronPDF Windows Docker 容器
Windows Docker 容器在 Azure 上越來越受歡迎,因為它們提供更高的性能和可擴展性,並給開發人員更多配置實例的權限。
IronPDF 將在 Docker 容器中實現更具吸引力的文本渲染。 (Windows 或 Linux) 在 Azure 上因為對圖形庫和虛擬圖形卡的較高存取權限。
這篇文章『Visual Studio 容器工具 for Docker' 是一個非常好的入門指南。
這是一個用於 .NET Core 3.1 的範例 Windows 容器 Dockerfile
Windows Server 2019 .NET 6.0
預先配置的 Windows 容器,包含運行 IronPDF 所需的所有依賴。
請注意
FROM mcr.microsoft.com/dotnet/sdk:6.0-windowsservercore-ltsc2019 AS build
WORKDIR /src
COPY ["nuget.config", "."]
COPY ["ConsoleApp/ConsoleApp.csproj", "ConsoleApp/"]
RUN dotnet restore "ConsoleApp/ConsoleApp.csproj"
COPY . .
WORKDIR "/src/ConsoleApp"
RUN dotnet build "ConsoleApp.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "ConsoleApp.csproj" -c Release -o /app/publish /p:UseAppHost=false
FROM ironsoftwareofficial/windows:2019-net60
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "ConsoleApp.dll"]
訪問 Docker 資料庫 探索更多預先配置的IronPDF運行映像。