Rozwiązywanie problemów wdrożeniowych IronPDF w Google Cloud Run

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

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-0 i libgtk2.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
SHELL

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.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 20,088,359 | Wersja: 2026.7 właśnie wydany
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPdf
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.