Déploiement Docker AWS Lambda : erreurs libnss3 et Chrome

Curtis Chau
Curtis Chau
Updated: 10 juin 2026

Lors du déploiement d'IronPDF sur AWS Lambda avec une image de conteneur Docker, l'application génère un IronSoftwareDeploymentException au démarrage.

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

Deux problèmes provoquent cet échec. Tout d'abord, le moteur Chrome d'IronPDF dépend de bibliothèques partagées comme libnss3.so qui sont absentes de l'image de base Lambda. Ensuite, Lambda restreint l'accès en écriture à /var/task/runtimes, donc le mécanisme de déploiement intégré d'IronPDF ne peut pas extraire ses binaires là-bas.

Solution

Installez les paquets Linux requis dans le Dockerfile, désactivez la configuration automatique, et redirigez le répertoire de déploiement d'IronPDF vers /tmp, le seul chemin accessible en écriture dans 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

Initialisation d'IronPDF

Définissez ces propriétés avant le premier appel à ChromePdfRenderer :

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

Pour la référence complète de la configuration Docker AWS Lambda, consultez le guide de déploiement AWS.

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.

Lire la suite

Prêt à commencer ?

Nuget Downloads 21,739,885Version :2026.10vient de sortir