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 可在 Ubuntu 22.04+ (Jammy)、Ubuntu 20.04 (Focal)、Debian 11+ (Bullseye) 和 CentOS 7+ 等 64 位元 Linux 發行版上流暢運作。

如何使用 NuGet 將 IronWord 加入到 .NET 專案中?

可以透過在 NuGet 套件管理器控制台中執行安裝命令將 IronWord 新增至 .NET 專案中,該命令會自動將程式庫包含在您的專案中。

使用微軟官方的IronWord Docker映像有什麼好處?

使用微軟官方的 Docker 映像以及 .NET 執行時間和 SDK,可以簡化設定和依賴項管理,確保與 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 是否需要安裝額外的字型?

是的,在使用 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 應用程式擁有輕量級且自包含的環境,從而在應用程式開發和部署的不同階段提供一致的效能。

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'name'

Filename: sections/author_component.php

Line Number: 18

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 18
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/get-started/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Getstarted.php
Line: 25
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'title'

Filename: sections/author_component.php

Line Number: 38

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 38
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/get-started/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Getstarted.php
Line: 25
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'comment'

Filename: sections/author_component.php

Line Number: 48

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 48
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/get-started/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Getstarted.php
Line: 25
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

準備好開始了嗎?
Nuget 下載 25,807 | 版本: 2025.11 剛剛發布