小编Cod*_*ody的帖子

如何通过 Puppeteer 访问用于 dockerized Chromium 启动的远程调试页面?

当 Chromium 成功启动时,它的 Debugging WebSocket URL 应该类似于ws://127.0.0.1:9222/devtools/browser/ec261e61-0e52-4016-a5d7-d541e82ecb0a.

127.0.0.1:9222应该能够通过 Chrome 浏览以检查无头 Chromium。但是,在对我的应用程序进行 dockerize 后,我无法通过 Chrome 访问远程调试器 URL。

由 Puppeteer 启动铬的launchOption

{
  "args": [
    "--remote-debugging-port=9222",
    "--window-size=1920,1080",
    "--mute-audio",
    "--disable-notifications",
    "--force-device-scale-factor=0.8",
    "--no-sandbox",
    "--disable-setuid-sandbox"
  ],
  "defaultViewport": {
    "height": 1080,
    "width": 1920
  },
  "headless": true
}
Run Code Online (Sandbox Code Playgroud)

Dockerfile:

FROM node:10.16.3-slim

RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
    && sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
    && apt-get update \
    && apt-get install -y google-chrome-unstable …
Run Code Online (Sandbox Code Playgroud)

google-chrome docker puppeteer

6
推荐指数
2
解决办法
2987
查看次数

标签 统计

docker ×1

google-chrome ×1

puppeteer ×1