如何在AWS Lambda上运行Playwright

后端开发 2026-07-12
  1. 使用AWS的 nodejs-lambda基础镜像。
    FROM public.ecr.aws/lambda/nodejs:24-x86_64。在安装Playwright时出现警告“操作系统不受支持。回退到Ubuntu”,但安装成功。这是可以理解的,因为AWS使用的是Amazon Linux。

  2. 使用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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章