Rozwiązywanie problemów wdrożeniowych IronPDF w Google Cloud Run
IronPDF nie generuje plików PDF lub zawiesza się po wdrożeniu na Google Cloud Run 1. generacji. Trzy tryby awarii są powszechne:
- Aplikacja zawiesza się lub występują błędy segmentacji podczas generowania PDF
- Błędy zależności spowodowane brakującymi bibliotekami graficznymi takimi jak
libglib2.0-0,libxkbcommon-x11-0ilibgtk2.0-0 - Błędy GPU lub renderowania, gdy środowisko nie obsługuje przyspieszenia graficznego
Google Cloud Run 1. generacji używa jądra Linux w wersji 4.4.0, które nie obsługuje wymagań przeglądarki Chrome IronPDF. Środowisko 2. generacji używa jądra 6.4.10 i rozwiązuje te problemy z kompatybilnością.
Rozwiązanie
Krok 1: Przejdź do środowiska wykonawczego 2. generacji
Dodaj --execution-environment gen2 do swojej komendy wdrożeniowej:
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
Krok 2: Zaktualizuj swój Dockerfile o wymagane zależności
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"]
Pełną listę wymaganych pakietów według dystrybucji Linux można znaleźć w przewodniku wdrażania na Linux.

