在Google Cloud Run上修复IronPDF部署问题

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

在Google Cloud Run第一代上部署时,IronPDF无法生成PDF或崩溃。 存在三种常见的故障模式:

  • 在生成PDF期间应用程序崩溃或产生分段错误
  • 由于缺少图形库(如libgtk2.0-0)而导致的依赖失败
  • 环境缺乏图形加速支持时,出现GPU或渲染错误

Google Cloud Run第一代使用Linux内核4.4.0,不支持IronPDF基于Chrome的渲染器所需的支撑。 第二代环境使用内核6.4.10并解决这些兼容性问题。

解决方案

步骤1:切换到第二代执行环境

--execution-environment gen2添加到您的部署命令中:

gcloud run deploy my-ironpdf-service \
    --image gcr.io/my-project/my-ironpdf-app \
    --platform managed \
    --region us-central1 \
    --execution-environment gen2 \
    --allow-unauthenticated
gcloud run deploy my-ironpdf-service \
    --image gcr.io/my-project/my-ironpdf-app \
    --platform managed \
    --region us-central1 \
    --execution-environment gen2 \
    --allow-unauthenticated
SHELL

步骤2: 使用所需的依赖项更新您的Dockerfile

FROM --platform=linux/amd64 mcr.microsoft.com/dotnet/aspnet:8.0 AS base
USER root
WORKDIR /app
EXPOSE 8080

RUN apt update && apt install -y \
    sudo libglib2.0-0 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 \
    libstdc++6 libxcomposite1 \
    && rm -rf /var/lib/apt/lists/*

COPY . .
RUN dotnet publish -c Release -o /app/publish

CMD ["dotnet", "/app/publish/myapp.dll"]

有关各Linux发行版所需软件包的完整列表,请参阅Linux部署指南

Curtis Chau
技术作家

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

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 20,088,359 | 版本: 2026.7 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronPdf
运行示例看着你的HTML代码变成PDF文件。