node.js - Docker NodeJS Puppeteer@2.0.0-如何修复无法启动Chrome!问题

标签 node.js docker chromium puppeteer alpine

而未设置PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true和CHROMIUM_PATH / usr / bin / chromium-browser
无 Chrome 包装

Error for printPdf()
Error: Failed to launch chrome! spawn /usr/src/app/node_modules/puppeteer/.local-chromium/linux-706915/chrome-linux/chrome ENOENT



设置为PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true和CHROMIUM_PATH / usr / bin / chromium-browser
带 Chrome 包装

Error is missing photos sometimesenter image description here



以下是我的Dockerfile:
FROM alpine:latest

WORKDIR /usr/src/app

RUN chmod -R 444 /etc/apk/
RUN echo "ipv6" >> /etc/modules

RUN set -x \
    && apk update \
    && apk upgrade \
RUN apk add -f

ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
ENV CHROMIUM_PATH /usr/bin/chromium-browser

# Installs latest Chromium package.
RUN apk add --no-cache \
    chromium \ ### with this, it is okay
    nss \
    freetype \
    freetype-dev \
    harfbuzz \
    ca-certificates \
    ttf-freefont \
    nodejs \
    npm \
    yarn

RUN yarn add puppeteer@2.0.0 adal-node@0.2.0 azure-keyvault@3.0.4 azure-sb@0.11.1 azure-storage@2.10.3 http@0.0.0

COPY package*.json ./

EXPOSE 3000

CMD [ "npm", "start"]

以下是我的puppeteer.js:
browser = await puppeteer.launch({
    executablePath: '/usr/bin/chromium-browser', // if without using chromium package: executablePath: process.env.CHROMIUM_PATH,
    args: ['--no-sandbox', '--enable-font-antialiasing', '--font-render-hinting=medium'],
    timeout: LOAD_TIMEOUT,
    headless: true
});

引用:GoogleChrome/puppeteer

最佳答案

只需将headless的值设置为false

browser = await puppeteer.launch({
  headless: true
});

关于node.js - Docker NodeJS Puppeteer@2.0.0-如何修复无法启动Chrome!问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58746052/

相关文章:

macos - Mac 上的 Puppeteer/chromium 长期提示 "accept incoming network connection?"

javascript - 带有空括号的 Node.js REPL 语法

node.js - 我无法使用 socket.io 发送聊天消息

docker - 带有Mongo和Express的Docker

docker - 为什么不使用docker中的主机网络,因为docker和kubernetes网络是如此复杂

javascript - jQuery 插件不适用于子域

javascript - 基于 promise 的编程,可能与否?

javascript - 语法错误 : Unexpected token function

asp.net - Docker 构建找不到 NETFramework 版本 5

webview - Electron BrowserView 渲染器进程与 WebView