在Docker容器中設定IronWord
IronWord在Linux和Windows環境中的Docker容器中完全支援,使其成為在Azure、AWS或任何.NET-ready主機上部署的理想選擇。
為什麼使用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套件
可以通過其NuGet套件輕鬆新增IronWord到任何.NET專案中。 只需在NuGet套件管理器控制台中運行以下命令,就會自動新增程式庫:
Install-Package IronWord
Ubuntu Dockerfile範例
Ubuntu22 + .NET8
FROM mcr.microsoft.com/dotnet/runtime:8.0-jammy AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:8.0-jammy AS build
WORKDIR /src
COPY ["Example/Example.csproj", "Example/"]
RUN 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"]
Ubuntu20.04 + .NET6 (LTS)
FROM mcr.microsoft.com/dotnet/runtime:6.0-focal AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:6.0-focal AS build
WORKDIR /src
COPY ["Example/Example.csproj", "Example/"]
RUN 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範例
Debian11 + .NET7
FROM mcr.microsoft.com/dotnet/aspnet:7.0-bullseye-slim AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:7.0-bullseye-slim AS build
WORKDIR /src
COPY ["Example/Example.csproj", "Example/"]
RUN 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
使用基於CentOS的.NET運行時,例如mcr.microsoft.com/dotnet/runtime:6.0-centos7,以確保IronWord的相容性。
# 建構階段
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /app
COPY ./Example/Example.csproj ./Example/
RUN dotnet restore "./Example/Example.csproj"
COPY ./Example ./Example/
WORKDIR /app/Example
RUN dotnet publish -c Release -o /out
# 運行時階段 - CentOS 7
FROM mcr.microsoft.com/dotnet/runtime:6.0-centos7 AS runtime
WORKDIR /app
RUN yum install -y liberation-fonts && yum clean all
COPY --from=build /out ./
ENTRYPOINT ["dotnet", "Example.dll"]
注意事項 & 疑難排解
- IronWord完全支援.NET5–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。
建議使用哪些Linux發行版來在Docker中運行IronWord?
IronWord在64位Linux發行版上運行順利,如Ubuntu 22.04+(Jammy)、Ubuntu 20.04(Focal)、Debian 11+(Bullseye)和CentOS 7+。
如何使用NuGet將IronWord新增到.NET專案?
可以通過在NuGet包管理控制台中運行安裝命令將IronWord新增到.NET專案,這將自動將該程式庫包含在您的專案中。
使用Microsoft的官方Docker映像運行IronWord有什麼好處?
使用Microsoft的官方Docker映像搭配.NET運行時和SDK簡化了設置和依賴管理,確保與IronWord無縫整合。
有些什麼Dockerfile範例可以用於在Ubuntu上設置IronWord?
此頁提供了Ubuntu 22搭配.NET 8和Ubuntu 20.04搭配.NET 6的Dockerfile範例,詳細說明了從設置基礎映像到運行應用程式的步驟。
如何使用Docker在Debian上設置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應用程式有一個輕量且自容的環境,提供一致的性能,適用於應用程式開發和部署的不同階段。

