在 Docker 容器中設定 IronWord

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

IronWord 完全支援 Linux 和 Windows 環境的 Docker 容器,使其非常適合部署於 Azure、AWS 或任何支援 .NET 的主機上。

為何要使用 Docker?

Docker 讓您能將 IronWord 打包並作為輕量級、自包含的容器來執行。 這能確保在開發、測試和生產環境中保持一致的運作行為——特別是在透過程式碼生成或處理 WORD 文件時,此特性尤為重要。

IronWord 支援 .NET 5-9、.NET Standard (2.x、3.x) 以及 .NET Framework 4.6.2 以上版本,所有版本皆可在 Linux 和 Windows 上的 Docker 環境中無縫運作。

推薦的 Linux Docker 發行版

我們建議使用以下 64 位元 Linux 發行版,以確保 IronWord 運作順暢:

  • Ubuntu 22.04+ (Jammy)
  • Ubuntu 20.04 (Focal)
  • Debian 11+ (Bullseye)
  • CentOS 7+

請使用 Microsoft 官方的 Docker 映像檔,其中包含 .NET 執行環境與 SDK,以簡化設定與依賴項管理。

IronWord NuGet 套件

IronWord 可透過其 NuGet 套件輕鬆加入任何 .NET 專案。 只需在 NuGet 套件管理員控制台執行以下指令,系統便會自動新增該函式庫:

Install-Package IronWord

Ubuntu Dockerfile 範例

Ubuntu 22 + .NET 8

來源:mcr.microsoft.com/dotnet/runtime:8.0-jammy 作為基礎
WORKDIR /app

來源:mcr.microsoft.com/dotnet/sdk:8.0-jammy AS build
WORKDIR /src
COPY ["Example/Example.csproj", "Example/"]
執行 dotnet restore "Example/Example.csproj"

COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

Ubuntu 20.04 + .NET 6 (LTS)

來源:mcr.microsoft.com/dotnet/runtime:6.0-focal 作為基礎
WORKDIR /app

來源:mcr.microsoft.com/dotnet/sdk:6.0-focal AS build
WORKDIR /src
COPY ["Example/Example.csproj", "Example/"]
執行 dotnet restore "Example/Example.csproj"

COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

Debian Dockerfile 範例

Debian 11 + .NET 7

來源:mcr.microsoft.com/dotnet/aspnet:7.0-bullseye-slim 作為基礎
WORKDIR /app

來源:mcr.microsoft.com/dotnet/sdk:7.0-bullseye-slim AS build
WORKDIR /src
COPY ["Example/Example.csproj", "Example/"]
執行 dotnet restore "Example/Example.csproj"

COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]

CentOS 7

為確保與 IronWord 的相容性,請使用基於 CentOS 的 .NET 執行環境,例如 mcr.microsoft.com/dotnet/runtime:6.0-centos7。

# 建置階段
來源:mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /app

COPY ./Example/Example.csproj ./Example/
執行 dotnet restore "./Example/Example.csproj"

COPY ./Example ./Example/
WORKDIR /app/Example
執行 dotnet publish -c Release -o /out

# 執行階段 - CentOS 7
FROM mcr.microsoft.com/dotnet/runtime:6.0-centos7 AS runtime
WORKDIR /app

執行 yum install -y liberation-fonts && yum clean all

COPY --from=build /out ./

ENTRYPOINT ["dotnet", "Example.dll"]

注意事項與疑難排解

  • IronWord 完全支援 .NET 5–9、.NET Standard (2.x、3.x) 以及 .NET Framework 4.6.2 以上版本。
  • 如有需要,請在 Linux 容器中安裝字型(例如 fonts-liberation、ttf-mscorefonts-installer),以確保正確顯示。

常見問題

什麼是 IronWord,以及為何要在 Docker 容器中使用它?

IronWord 是一個用於在 .NET 應用程式中處理 Word 文件的程式庫。在 Docker 容器中使用它,可在 Linux 和 Windows 系統的開發、測試及生產環境中實現一致的運作行為。

在 Docker 中執行 IronWord 時,建議使用哪些 Linux 發行版?

IronWord 可在 64 位元 Linux 發行版上順暢運行,例如 Ubuntu 22.04+ (Jammy)、Ubuntu 20.04 (Focal)、Debian 11+ (Bullseye) 以及 CentOS 7+。

如何透過 NuGet 將 IronWord 加入 .NET 專案?

您可透過在 NuGet 套件管理員主控台執行安裝指令,將 IronWord 加入 .NET 專案中,系統會自動將 IronWord程式庫納入您的專案。

使用 Microsoft 官方的 IronWord Docker 映像檔有何好處?

使用內建 .NET 執行環境與 SDK 的 Microsoft 官方 Docker 映像檔,可簡化設定與依賴項管理,確保與 IronWord 無縫整合。

有哪些在 Ubuntu 上設定 IronWord 的 Dockerfile 範例?

該頁面提供了適用於 Ubuntu 22(搭配 .NET 8)及 Ubuntu 20.04(搭配 .NET 6)的 Dockerfile 範例,詳細說明從設定基礎映像到執行應用程式的步驟。

如何在 Debian 上使用 Docker 設定 IronWord?

文中提供了一個適用於 Debian 11 並搭配 .NET 7 的 Dockerfile 範例,其中包含在 Docker 容器內建置與部署 IronWord 應用程式的步驟。

在 Linux 容器中使用 IronWord 是否需要安裝額外的字型?

是的,在 Linux 容器中使用 IronWord 時,可能需要安裝 fonts-liberation 或 ttf-mscorefonts-installer 等字型,以確保文件能正確顯示。

IronWord 是否支援所有版本的 .NET?

IronWord 支援 .NET 5-9、.NET Standard (2.x、3.x) 以及 .NET Framework 4.6.2 以上版本,使其能靈活適用於各種 .NET 應用程式版本。

在 CentOS 7 上部署 IronWord 應用程式的步驟為何?

本頁面概述了適用於 CentOS 7 的 Dockerfile,內容包含使用 .NET 6 執行環境、安裝必要字型,以及設定環境以執行 IronWord 應用程式。

為何選擇 Docker 來部署 IronWord 應用程式?

Docker 確保 IronWord 應用程式擁有輕量且自包含的環境,在應用程式開發與部署的不同階段皆能提供一致的效能。

Kye Stuart
技術撰稿人

Kye Stuart 在 Iron Software 將編程熱情與寫作技巧完美結合。他們曾於 Yoobee College 修習軟體部署課程,如今專注於將複雜的技術概念轉化為淺顯易懂的教育內容。Kye 重視終身學習,並樂於迎接新的技術挑戰。

工作之餘,他熱衷於 PC 遊戲、在 Twitch 進行直播,以及園藝和遛狗(愛犬名為 Jaiya)等戶外活動。Kye 直率坦誠的作風,使其成為 Iron Software 實現「為全球開發者解構技術神秘面紗」這項使命的關鍵人物。

準備開始了嗎?
Nuget 下載 44,829 | 版本: 2026.5 just released
Still Scrolling Icon

還在往下捲動嗎?

想要快速確認成果嗎? PM > Install-Package IronWord
執行範例 觀看您的資料轉為 WORD 文件。