在 Docker 容器中設定 IronWord
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 應用程式擁有輕量且自包含的環境,在應用程式開發與部署的不同階段皆能提供一致的效能。

