IRONSOFTWAREHOME

在Docker上运行Linux ARM64版IronPDF

Curtis Chau
Curtis Chau
Updated: 2026年6月29日

IronPDF 的渲染器基于 Chromium Embedded Framework (CEF),它需要比 Linux 动态链接器默认在 ARM 和 ARM64 上预留的更多线程本地存储(TLS)。没有解决方法的话,加载 libcef.so 会在 cannot allocate memory in static TLS block 时失败。 解决方法是通过 LD_PRELOAD 环境变量预加载 libcef.so,以便链接器在加载其他任何内容之前预留足够的 TLS。

有关裸错误消息和非Docker修复的详细信息,请参阅Linux ARM上IronPDF:无法在静态TLS块中分配内存。 本文适用于在容器内应用同样的修复。

在Dockerfile中设置LD_PRELOAD

将变量添加为 ENV 指令,指向 IronPDF 附带的 ARM64 本机库:

ENV LD_PRELOAD=/app/runtimes/linux-arm64/native/libcef.so
Text

示例Dockerfile

这个多阶段 Dockerfile 在 .NET 8 上为 ARM64 构建并运行 IronPDF 应用,安装 CEF 所依赖的本机库,并在最终映像中设置 LD_PRELOAD

# Base image for runtime (ARM64)
FROM mcr.microsoft.com/dotnet/runtime:8.0 AS base
USER root
WORKDIR /app
RUN apt update \
    && apt install -y sudo libxkbcommon-x11-0 libc6 libc6-dev libgtk2.0-0 libnss3 libatk-bridge2.0-0 libx11-xcb1 libxcb-dri3-0 libdrm-common libgbm1 libasound2 libxrender1 libfontconfig1 libxshmfence1 libgdiplus libva-dev
# Base image for build (ARM64)
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY . .
RUN dotnet publish -c Release -o /app/publish
# Final image with IronPdf and system dependencies
FROM base AS final
WORKDIR /app
ENV LD_PRELOAD=/app/runtimes/linux-arm64/native/libcef.so
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "IronPdfLinuxArm.dll"]
Text

LD_PRELOAD 设置为 libcef.so 实际落在您镜像中的路径; 上面的值与默认的 runtimes/linux-arm64/native/ 布局匹配。 基础限制在CEF论坛上得到追踪。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

准备开始了吗?

Nuget Downloads 21,105,021版本:2026.9刚刚发布

立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 “IronPDF”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

或在此处下载 Windows 安装程序。

  1. 下载并解压 IronPDF 到您的解决方案目录中的 ~/Libs 之类的位置
  2. 在 Visual Studio 解决方案资源管理器中,右键点击引用。选择浏览,“IronPDF.dll”

$999

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

OR
bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 “IronPDF”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

或在此处下载 Windows 安装程序。

  1. 下载并解压 IronPDF 到您的解决方案目录中的 ~/Libs 之类的位置
  2. 在 Visual Studio 解决方案资源管理器中,右键点击引用。选择浏览,“IronPDF.dll”

$999