在Docker中Linux系统运行Puppeteer报错Failed to launch chrome!

688 阅读1分钟

Dokcerfile

FROM xxxx/nodejs-baseimage:v10.15.3
MAINTAINER xxxx

#linux不支持chromium启动,需要安装插件支持
RUN apt-key adv --keyserver keys.gnupg.net --recv-keys 7638D0442B90D010
RUN apt-key adv --keyserver keys.gnupg.net --recv-keys 9D6D8F6BC857C906
RUN apt-key adv --keyserver keys.gnupg.net --recv-keys AA8E81B4331F7F50
RUN apt-get update
RUN apt-get -yq install gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \
  libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libnspr4 \
  libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \
  libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 \
  ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils 

ADD package.json /app/package.json
RUN cd /app; npm cache clean --force

# 安装npm依赖并设置env PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true跳过chromium
RUN cd /app; env PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm install --registry https://registry.npm.taobao.org
ADD . /app/

# 添加本地依赖chromium至node_modules文件夹
WORKDIR /app/node_modules/puppeteer/.local-chromium/linux-686378
COPY packages/chrome-linux  /app/node_modules/puppeteer/.local-chromium/linux-686378/chrome-linux

RUN cd /app; npm run build
WORKDIR /app