npm 在Docker容器中运行Puppeteer

js4nwp54  于 5个月前  发布在  Docker
关注(0)|答案(1)|浏览(70)

我对node.js世界还很陌生。
我无法让puppeteer在容器中成功运行。我尝试手动安装Chrome及其驱动程序,但没有效果。
我发现puppeteer提供了一个用于测试的docker镜像,它应该安装了所有的Chrome依赖项,但我无法让它工作。
下面是我的dockerfile:

FROM buildkite/puppeteer:latest

EXPOSE 8181

# Set the working directory
WORKDIR /app

# Install app dependencies

COPY ./backend .

RUN npm install

COPY . .

CMD ["npm", "test"]

字符串
这是我在package.json中的脚本部分

"scripts": {
    "start": "node server.js",
    "test": "mocha ./tests/test_root.js ./tests/test_dataset.js ./tests/test_frontend.js"
  },


这样就得到了Error: Cannot find module 'node:http'
有人能帮我吗?还是我找错人了!
谢谢

deyfvvtc

deyfvvtc1#

解决方案是尝试安装驱动程序。这做到了:

FROM node:20

EXPOSE 8181

# Install Google Chrome Stable and fonts
# Note: this installs the necessary libs to make the browser work with Puppeteer.
RUN apt-get update && apt-get install gnupg wget -y && \
  wget --quiet --output-document=- https://dl-ssl.google.com/linux/linux_signing_key.pub | gpg --dearmor > /etc/apt/trusted.gpg.d/google-archive.gpg && \
  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 google-chrome-stable -y --no-install-recommends && \
  rm -rf /var/lib/apt/lists/*

# Create app directory
WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install
RUN npm install --save-dev

COPY . .

CMD npm test

字符串

相关问题