Puppeteer 中文文档v25.8.0

Docker

Puppeteer提供了一个Docker镜像,其中包含Chrome for Testing以及所需的依赖项和预装的Puppeteer版本。该镜像可通过GitHub Container Registry获取。最新镜像标记为latest,其他标签与Puppeteer版本对应。例如:

docker pull ghcr.io/puppeteer/puppeteer:latest # pulls the latest
docker pull ghcr.io/puppeteer/puppeteer:16.1.0 # pulls the image that contains Puppeteer v16.1.0

该镜像用于在沙盒模式下运行浏览器,因此运行该镜像需要SYS_ADMIN能力。

用法

要直接使用Docker镜像,请运行:

docker run -i --init --cap-add=SYS_ADMIN --rm ghcr.io/puppeteer/puppeteer:latest node -e "$(cat path/to/script.js)"

其中path/to/script.js是相对于你工作目录的路径。请注意,由于浏览器在沙盒模式下运行,该镜像需要SYS_ADMIN能力。

如果你需要基于不同的基础镜像构建镜像,可以将我们的Dockerfile作为起点。

⚠️警告

请务必通过--init标志或自定义ENTRYPOINT指定一个init进程,以确保Puppeteer启动的所有进程都能得到妥善管理。

dbus

该镜像为Chrome安装并配置了dbus。通常你在无头模式下不需要dbus,但可能会在浏览器控制台中看到警告。你可以在启动应用程序之前启动dbus服务:

sudo service dbus start

关于如何在容器中启动多个进程的说明,请参阅https://docs.docker.com/config/containers/multi-service_container/。