Correction des problèmes de déploiement d'IronPDF sur Google Cloud Run
IronPDF échoue à générer des PDF ou plante lorsqu'il est déployé sur Google Cloud Run 1st Generation. Trois modes d'échec sont courants :
- L'application plante ou produit des erreurs de segmentation lors de la génération de PDF
- Échecs de dépendances causés par l'absence de bibliothèques graphiques telles que
libglib2.0-0,libxkbcommon-x11-0, etlibgtk2.0-0 - Erreurs de GPU ou de rendu lorsque l'environnement manque de support d'accélération graphique
Google Cloud Run 1st Generation utilise le noyau Linux 4.4.0, qui manque le support requis par le moteur de rendu basé sur Chrome d'IronPDF. L'environnement 2nd Generation utilise le noyau 6.4.10 et résout ces problèmes de compatibilité.
Solution
Étape 1 : Passez à l'environnement d'exécution 2nd Generation
Ajoutez --execution-environment gen2 à votre commande de déploiement :
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
Étape 2 : Mettez à jour votre Dockerfile avec les dépendances requises
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"]
Pour la liste complète des packages requis par distribution Linux, voir le guide de déploiement Linux.

