AWS Lambda Docker:libnss3和Chrome部署錯誤
Curtis Chau
Updated: 2026年6月10日
當在AWS Lambda上使用Docker容器映像部署IronPDF時,應用程式在啟動時拋出IronSoftwareDeploymentException。
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
此故障由兩個問題引起。 首先,IronPDF的Chrome引擎依賴於libnss3.so等共享庫,而這些庫在Lambda的基礎映像中缺失。 其次,Lambda限制了對/var/task/runtimes的寫入存取,因此IronPDF的嵌入式部署機制無法將其二進位檔提取到那裡。
解決方案
在Dockerfile中安裝所需的Linux套件,禁用自動配置,並將IronPDF的部署目錄重定向到/tmp,這是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" .
Text
IronPDF初始化
在第一次呼叫ChromePdfRenderer之前設置這些屬性:
IronPdf.Installation.AutomaticallyDownloadNativeBinaries = false;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
IronPdf.Installation.CustomDeploymentDirectory = "/tmp/ironpdf";Imports IronPdf
Installation.AutomaticallyDownloadNativeBinaries = False
Installation.ChromeGpuMode = Engines.Chrome.ChromeGpuModes.Disabled
Installation.LinuxAndDockerDependenciesAutoConfig = False
Installation.CustomDeploymentDirectory = "/tmp/ironpdf"有關完整的AWS Lambda Docker設置參考,請參見AWS部署指南。

技術作家
Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。
...
閱讀更多