在 Docker 容器中设置 IronWord
IronWord 完全支持 Docker 容器,适用于 Linux 和 Windows 环境,因此非常适合部署在 Azure、AWS 或任何其他平台上。 支持网络的主机。
为什么要使用 Docker?
Docker 允许您将 IronWord 打包并运行为一个轻量级的、自包含的容器。 这确保了开发、测试和生产过程中行为的一致性——这在以编程方式生成或操作 Word 文档时尤其有价值。
IronWord 支持 .NET 5-9、.NET Standard (2.x, 3.x) 和 .NET Framework 4.6.2+,所有这些都可以在 Linux 和 Windows 上的 Docker 中无缝运行。
推荐的 Linux Docker 发行版
为了确保 IronWord 流畅运行,我们推荐以下 64 位 Linux 发行版:
- 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 示例
Ubuntu22 + .NET8
来自 mcr.microsoft.com/dotnet/runtime:8.0-jammy AS base
工作目录 /app
来自 mcr.microsoft.com/dotnet/sdk:8.0-jammy AS 构建
工作目录 /src
复制 ["Example/Example.csproj", "Example/"]
运行 dotnet restore "Example/Example.csproj"
复制 。 .
工作目录"/src/Example"
运行 dotnet build "Example.csproj" -c Release -o /app/build
从构建 AS 发布
运行 dotnet publish "Example.csproj" -c Release -o /app/publish
从基地 AS 最终
工作目录 /app
COPY --from=publish /app/publish .
入口点 ["dotnet", "Example.dll"]Ubuntu 20.04 + .NET 6 (LTS)
来自 mcr.microsoft.com/dotnet/runtime:6.0-focal AS base
工作目录 /app
来自 mcr.microsoft.com/dotnet/sdk:6.0-focal AS 构建
工作目录 /src
复制 ["Example/Example.csproj", "Example/"]
运行 dotnet restore "Example/Example.csproj"
复制 。 .
工作目录"/src/Example"
运行 dotnet build "Example.csproj" -c Release -o /app/build
从构建 AS 发布
运行 dotnet publish "Example.csproj" -c Release -o /app/publish
从基地 AS 最终
工作目录 /app
COPY --from=publish /app/publish .
入口点 ["dotnet", "Example.dll"]Debian Dockerfile 示例
Debian 11 + .NET 7
来自 mcr.microsoft.com/dotnet/aspnet:7.0-bullseye-slim AS base
工作目录 /app
来自 mcr.microsoft.com/dotnet/sdk:7.0-bullseye-slim AS 构建
工作目录 /src
复制 ["Example/Example.csproj", "Example/"]
运行 dotnet restore "Example/Example.csproj"
复制 。 .
工作目录"/src/Example"
运行 dotnet build "Example.csproj" -c Release -o /app/build
从构建 AS 发布
运行 dotnet publish "Example.csproj" -c Release -o /app/publish
从基地 AS 最终
工作目录 /app
COPY --from=publish /app/publish .
入口点 ["dotnet", "Example.dll"]CentOS 7
为了与 IronWord 兼容,请使用基于 CentOS 的 .NET 运行时,例如 mcr.microsoft.com/dotnet/runtime:6.0-centos7。
# 构建阶段
来自 mcr.microsoft.com/dotnet/sdk:6.0 AS 版本
工作目录 /app
复制 ./Example/Example.csproj ./Example/
运行 dotnet restore "./Example/Example.csproj"
复制 ./示例 ./示例/
工作目录 /app/示例
运行 dotnet publish -c Release -o /out
# 运行时阶段 - CentOS 7
FROM mcr.microsoft.com/dotnet/runtime:6.0-centos7 AS runtime
工作目录 /app
运行 yum install -y liberation-fonts && yum clean all
COPY --from=build /out ./
入口点 ["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项目中,该命令会自动将库包含到您的项目中。
使用微软官方Docker映像对IronWord的好处是什么?
使用微软的官方Docker映像与.NET运行时和SDK简化了设置和依赖管理,确保与IronWord的无缝集成。
设置IronWord在Ubuntu上的示例Dockerfiles是什么?
页面提供了用于Ubuntu 22的.NET 8和Ubuntu 20.04的.NET 6的Dockerfile示例,详细说明了从设置基础映像到运行应用程序的步骤。
如何使用Docker在Debian上设置IronWord?
提供了一个用于Debian 11的.NET 7的Dockerfile示例,其中包括构建和部署IronWord应用程序到Docker容器中的步骤。
在Linux容器上使用IronWord是否需要安装额外的字体?
是的,在Linux容器上安装字体,如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应用程序拥有一个轻量且自包含的环境,在应用程序开发和部署的不同阶段提供一致的性能。






