Google Cloud RunでのIronPDFのデプロイメント問題の修正
Google Cloud Runの第1世代にデプロイした際にIronPDFがPDF生成に失敗またはクラッシュします。 3つの失敗モードが一般的です:
- PDF生成中にアプリケーションがクラッシュするかセグメンテーションフォールトを発生させる
- グラフィックライブラリの欠如による依存関係エラー(例えば、
libgtk2.0-0など) - グラフィックアクセラレーションサポートが不足する環境で発生するGPUまたはレンダリングエラー
Google Cloud Runの第1世代環境はLinuxカーネル4.4.0を使用しており、IronPDFのChromeベースのレンダラーで必要とされるサポートを欠いています。 第2世代環境はカーネル6.4.10を使用しており、これらの互換性の問題を解決します。
解決策
ステップ1: 第2世代の実行環境に切り替える
デプロイメントコマンドに --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
ステップ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デプロイメントガイドを参照してください。

