Dai*_*ung 10 chromium node.js docker alpine-linux puppeteer
因为我想运行 Puppeteer@1.19 但在 page.pdf() 中遇到错误。
刚刚提到的一些 blob 将 Chromium 从版本 76 降级到 73。如何使用 node:alpine-12 在 Dockerfile 中做到这一点?谢谢
以下是我的设置(铬版本为 76):
FROM node:12-alpine
##########
## Setting for using Puppeteer (for using node:XX-alpine)
##########
ENV CHROME_BIN="/usr/bin/chromium-browser"\
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true"
##########
## Update and Install packages
##########
RUN set -x \
&& apk update \
&& apk upgrade \
&& echo "127.0.0.1 localhost" >> /etc/hosts \
&& echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" > /etc/apk/repositories \
&& echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories \
&& echo "http://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories \
# add the packages
## g++: used to install NodeJS related packages
## chromium: used to run Puppeteer
&& apk add --no-cache g++ chromium
Run Code Online (Sandbox Code Playgroud)
试图将最后一行更改chromium为chromium-browser@73或chromium@73但面临以下错误:
世界依赖“chromium@73”的存储库标签不存在
仅供参考,我刚刚安装chromium并在 NodeJS 代码下运行时出错:
Line239: await page.pdf({
path: TEMP_DIR + filename,
format: 'A4',
printBackground: true
});
Run Code Online (Sandbox Code Playgroud)
printPdf() 错误
错误:协议错误 (IO.read):无效的参数句柄: 在 CDPSession 的 new Promise ()处应
为 /usr/src/app/node_modules/puppeteer/lib/Connection.js:183:56
处的字符串值
。
在 Function.readProtocolStream (/usr/src/app/node_modules/puppeteer/lib/helper.js:241:37)
处发送 (/usr/src/app/node_modules/puppeteer/lib/Connection.js:182:12) async Page.pdf (/usr/src/app/node_modules/puppeteer/lib/Page.js:988:12)
at async printPdf (/usr/src/app/puppeteer.js:239:9)
at async /usr/ src/app/puppeteer.js:129:
21——异步——
在页面。(/usr/src/app/node_modules/puppeteer/lib/helper.js:111:15)
在 printPdf (/usr/src/app/puppeteer.js:239:20)
at processTicksAndRejections (internal/process/task_queues.js:85:5)
at async /usr/src/app/puppeteer.js:129:21 {消息:'协议错误(IO.read):无效的参数句柄:预期的字符串值'
}
Adi*_*iii 11
在 nodejs 基础图像中使用的边缘分支中不存在chromium73。您必须将分支设置为 v3.10 才能下载chromium73。
FROM node:12-alpine
RUN apk add --no-cache chromium --repository=http://dl-cdn.alpinelinux.org/alpine/v3.10/main
Run Code Online (Sandbox Code Playgroud)
验证安装
docker run -it --rm myalpine ash -c "apk -e info chromium"
| 归档时间: |
|
| 查看次数: |
8451 次 |
| 最近记录: |