在 Docker 容器中设置 IronWord

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

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应用程序拥有一个轻量且自包含的环境,在应用程序开发和部署的不同阶段提供一致的性能。

Kye Stuart
技术作家

Kye Stuart 在 Iron Software 中将编码热情与写作技能结合在一起。他在 Yoobee 学院接受软件部署教育,现在将复杂的技术概念转化为清晰的教育内容。Kye 重视终身学习,接受新的技术挑战。

工作之余,他们喜欢 PC 游戏、Twitch 上的直播,以及户外活动如园艺和带狗 Jaiya 散步。Kye 的直截了当的方法使他们成为 Iron Software 使命的关键,即为全球开发者解密技术。

准备开始了吗?
Nuget 下载 27,129 | Version: 2025.11 刚刚发布