
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像集成Node.js运行环境与浏览器环境,旨在提供一站式解决方案,满足需要Node.js与浏览器协同工作的场景。通过将Node.js的脚本能力与浏览器的网页渲染/交互能力结合,可高效支持自动化测试、网页处理、爬虫等任务,避免本地环境配置差异导致的兼容性问题。
18-chrome120)区分,满足不同项目依赖需求。基础用法(执行Node.js脚本控制浏览器)
将本地Node.js脚本(如test.js)挂载到容器内,执行需要浏览器参与的任务:
bash# 挂载当前目录到容器工作目录,执行脚本 docker run -it --rm \ -v $(pwd):/usr/src/app \ # 挂载本地目录到容器内工作目录 -w /usr/src/app \ # 设置容器工作目录 -e HEADLESS=true \ # 启用无头模式(默认true,可选false) node+browser:18-chrome120 \ # 使用Node.js 18 + Chrome 120版本 node test.js # 执行本地脚本
端口映射(如需浏览器远程调试)
若需通过本地工具(如Chrome DevTools)调试容器内浏览器,可映射调试端口:
bashdocker run -it --rm \ -v $(pwd):/usr/src/app \ -p 9222:9222 \ # 映射浏览器远程调试端口(Chrome默认9222) node+browser:latest \ node --inspect=0.0.0.0:9222 test.js # 启动浏览器调试模式
适用于多服务协同场景(如Node.js服务+浏览器任务),通过docker-compose.yml定义服务:
yamlversion: '3.8' services: browser-worker: image: node+browser:20-chrome124 # Node.js 20 + Chrome 124 volumes: - ./scripts:/usr/src/app # 挂载本地脚本目录 - ./output:/usr/src/app/output # 挂载输出目录(如截图/PDF) working_dir: /usr/src/app environment: - NODE_ENV=production # 设置Node.js环境变量 - HEADLESS=true # 无头模式启用 - SCREEN_RESOLUTION=1920x1080 # 浏览器窗口分辨率(影响截图尺寸) command: node crawl.js # 启动爬虫脚本 restart: on-failure # 任务失败时自动重试
| 参数名 | 说明 | 默认值 |
|---|---|---|
NODE_ENV | Node.js运行环境(development/production),影响日志级别、优化策略 | production |
HEADLESS | 是否启用浏览器无头模式(true/false) | true |
BROWSER_PATH | 浏览器可执行文件路径(如Chrome默认/usr/bin/google-chrome) | 内置浏览器默认路径 |
SCREEN_RESOLUTION | 浏览器窗口分辨率(如1280x720),影响截图/渲染尺寸 | 1280x720 |
LANG | 语言环境(如zh_CN.UTF-8支持中文显示) | en_US.UTF-8 |
NODE_EXTRA_CA_CERTS | Node.js额外CA证书路径,用于HTTPS请求(如自签名证书) | 空 |
| 路径 | 说明 | 建议挂载方式 |
|---|---|---|
/usr/src/app | 容器工作目录,用于存放Node.js脚本 | 挂载本地项目目录(如./scripts:/usr/src/app) |
/var/log/node-browser | 日志目录(包含Node.js与浏览器运行日志) | 可选挂载到本地(如./logs:/var/log/node-browser) |
/usr/share/fonts | 字体目录(如需自定义字体,如中文字体) | 挂载字体文件目录(如./fonts:/usr/share/fonts) |
--memory参数限制容器资源。node,UID 1000)运行,挂载本地目录时需确保权限匹配(可通过chmod 777临时测试,生产环境建议通过--user参数指定UID)。package.json的engines字段匹配,浏览器版本需与自动化工具(如Puppeteer要求Chrome版本≥对应API版本)兼容,建议通过镜像标签明确指定版本(如20-chrome124)。-fonts后缀的镜像标签(如20-chrome124-fonts),或自行挂载中文字体文件到/usr/share/fonts。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务