Setting up IronWord in Docker Containers

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

IronWord is fully supported in Docker containers for both Linux and Windows environments, making it ideal for deployment on Azure, AWS, or any . NET-ready host.

Why Use Docker?

Docker lets you package and run IronWord as a lightweight, self-contained container. This ensures consistent behavior across development, testing, and production—especially valuable when generating or manipulating Word documents programmatically.

IronWord supports .NET 5-9, .NET Standard (2.x, 3.x), and .NET Framework 4.6.2+, all of which work seamlessly in Docker on Linux and Windows.

We recommend the following 64‑bit Linux distros for smooth IronWord operation:

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

Use Microsoft’s official Docker images with the .NET runtime and SDK to simplify setup and dependency management

IronWord NuGet Package

IronWord is easily added to any .NET project through its NuGet package. Simply run the following command in the NuGet Package Manager Console, and it will add the library automatically:

Install-Package IronWord

Ubuntu Dockerfile Examples

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 Example

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

Use CentOS-based .NET runtimes like mcr.microsoft.com/dotnet/runtime:6.0-centos7 for IronWord compatibility.

# Build stage
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

# Runtime stage - 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"]

Notes & Troubleshooting

  • IronWord fully supports .NET5–9, .NET Standard (2.x, 3.x), and .NET Framework 4.6.2+.
  • Install fonts if needed (e.g., fonts-liberation, ttf-mscorefonts-installer) on Linux containers for proper rendering.

常见问题解答

什么是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 下载 25,807 | 版本: 2025.11 刚刚发布