AWS Lambda Docker: błędy wdrażania libnss3 i Chrome

Curtis Chau
Curtis Chau
Updated: 10 czerwca 2026

Podczas wdrażania IronPDF na AWS Lambda za pomocą obrazu kontenera Docker, aplikacja zgłasza IronSoftwareDeploymentException podczas uruchamiania.

IronSoftwareDeploymentException: Multiple issues occurred while trying to deploy Chrome (libnss3.so: cannot open shared object file: No such file or directory)... (Read-only file system: '/var/task/runtimes')
Text

Dwa problemy powodują tę awarię. Po pierwsze, silnik Chrome IronPDF zależy od współdzielonych bibliotek, takich jak libnss3.so, które są nieobecne w domyślnym obrazie Lambda. Po drugie, Lambda ogranicza dostęp do zapisu w /var/task/runtimes, więc wbudowany mechanizm wdrażania IronPDF nie może tam wyodrębnić swoich plików binarnych.

Rozwiązanie

Zainstaluj wymagane pakiety Linux w pliku Dockerfile, wyłącz automatyczną konfigurację, i przekieruj katalog wdrażania IronPDF do /tmp, jedynej ścieżki możliwej do zapisu w Lambda.

Dockerfile

FROM public.ecr.aws/lambda/dotnet:8

WORKDIR /var/task

RUN dnf update -y \
    && dnf install -y gcc-c++ pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 dbus-glib-devel \
    && dnf install -y libXdamage.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 \
    && dnf install -y libXrandr.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts xorg-x11-fonts-100dpi \
    && dnf install -y xorg-x11-fonts-75dpi xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc \
    && dnf install -y mesa-libgbm.x86_64 \
    && dnf install -y nss-3.90.0-3.amzn2023.0.4.x86_64

COPY "bin/Release/lambda-publish" .
Dockerfile

Inicjalizacja IronPDF

Ustaw te właściwości przed pierwszym wywołaniem ChromePdfRenderer:

IronPdf.Installation.AutomaticallyDownloadNativeBinaries = false;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
IronPdf.Installation.CustomDeploymentDirectory = "/tmp/ironpdf";

Pełną dokumentację konfiguracji AWS Lambda Docker znajdziesz w przewodniku wdrażania AWS.

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ęczników.

Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 21,739,885Wersja:2026.10właśnie wydany