
shivjm/node-chromium一个在Alpine Linux或Debian上预装Chromium和Node.JS的Docker镜像。适合作为Puppeteer等爬虫库用户的轻量级基础镜像。
[***]
[***]
所有可用标签请参见Docker Hub (shivjm/node-chromium)。不提供latest镜像。
node[object Object]-chromium[object Object]-alpine,其中N为Node.js主版本号(12、14、16、17、18或19),C为Chromium主版本号。例如,使用Node.js 14和Chromium 81时,可使用shivjm/node-chromium:node14-chromium81-alpine镜像。
node[object Object]-chromium[object Object]-debian,其中N为Node.js主版本号(12、14、16、17、18或19),C为Chromium主版本号。例如,使用Node.js 14和Chromium 81时,可使用shivjm/node-chromium:node14-chromium81-debian镜像。
使用Alpine Linux或Debian提供的最新Chromium版本。基础发行版版本依赖于上游Node镜像。
DockerfileFROM shivjm/node-chromium:node14-chromium99-alpine WORKDIR /usr/src/app COPY package.json package-lock.json ./ RUN npm ci COPY src . ENTRYPOINT ["npm", "start"]
DockerfileFROM node:12-alpine AS build WORKDIR /usr/src/app-deps COPY package.json package-lock.json ./ RUN npm ci COPY . . RUN npm run compile-my-code && \ npm prune --production FROM shivjm/node-chromium:node18-chromium108-debian USER node WORKDIR /usr/src/app COPY package.json package-lock.json ./ COPY --from=build /usr/src/app-deps/node_modules ./node_modules COPY --from=build /usr/src/app-deps/dist ./dist ENV NODE_ENV=production ENTRYPOINT ["npm", "start", "--quiet"]
安装Puppeteer时,其会自动下载特定版本的Chromium并存储于node_modules下,默认使用该二进制文件。可通过环境变量PUPPETEER_SKIP_CHROMIUM_DOWNLOAD跳过此下载,同时需设置PUPPETEER_EXECUTABLE_PATH指向已安装的Chromium。部分配置示例:
Dockerfile# (省略其他设置步骤) # 安装依赖但不下载Chromium: ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 RUN npm install # 配置Puppeteer使用正确的二进制文件: ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser # (省略其他构建细节)
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务