如何在AWS Lambda上运行Playwright
-
使用AWS的 nodejs-lambda基础镜像。
FROM public.ecr.aws/lambda/nodejs:24-x86_64。在安装Playwright时出现警告“操作系统不受支持。回退到Ubuntu”,但安装成功。这是可以理解的,因为AWS使用的是Amazon Linux。 -
使用PlayWright基础镜像并安装Lambda运行时接口客户端。
FROM mcr.microsoft.com/playwright:v1.50.0-noble
RUN npm install aws-lambda-ric因报错“cmake未找到”而失败。随后我尝试安装一堆开发工具,但也失败,错误为“autoconf未找到”。
有人有没有可以创建Dockerfile,用来在Lambda函数中运行Playwright的镜像?
解决方案
这是我的Dockerfile看起来的样子
FROM public.ecr.aws/lambda/nodejs:20
# Install system dependencies required by Playwright
RUN dnf install -y \
atk \
at-spi2-atk \
at-spi2-core \
alsa-lib \
cups-libs \
gtk3 \
libdrm \
mesa-libgbm \
libxkbcommon \
libXcomposite \
libXcursor \
libXdamage \
libXext \
libXi \
libXrandr \
libXScrnSaver \
libXtst \
nss \
nspr \
pango \
liberation-sans-fonts \
liberation-mono-fonts \
liberation-serif-fonts \
xorg-x11-fonts-Type1 \
xorg-x11-fonts-misc \
&& dnf clean all
WORKDIR ${LAMBDA_TASK_ROOT}
COPY package*.json ./
RUN npm install --legacy-peer-deps
ENV PLAYWRIGHT_BROWSERS_PATH=/var/task/ms-playwright
ENV PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS=true
ENV HOME=/tmp
RUN npx playwright install chromium
COPY index.js playwright.config.js ./
COPY tests/ ./tests/
COPY pages/ ./pages/
COPY utils/ ./utils/
COPY assertions/ ./assertions/
COPY selectors/ ./selectors/
CMD ["index.handler"]
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。