
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像基于Ubuntu 22.04构建,集成Node.js 18环境和Playwright工具,提供高效的HTML转PDF/PNG格式的API服务。通过浏览器池管理实现并发处理,优化国内软件源配置以提升依赖安装速度,适用于需要将HTML内容渲染为图片或文档的业务场景。
| 变量名 | 默认值 | 说明 |
|---|---|---|
| BROWSER_WORKERS | 2 | 启动的Chromium浏览器实例数量 |
| MAX_CONTEXTS | 4 | 每个浏览器实例可创建的最大上下文数 |
准备以下文件:
执行构建命令:
bashdocker build -t render-service:latest .
基础运行
bashdocker run -d -p 3000:3000 --name render-service docker.xuanyuan.run/render-service:latest
自定义配置
bashdocker run -d -p 3000:3000 \ -e BROWSER_WORKERS=4 \ -e MAX_CONTEXTS=8 \ --name render-service \ docker.xuanyuan.run/render-service:latest
转PDF
请求示例:
bashcurl -X POST http://localhost:3000/render/pdf \ -H "Content-Type: text/plain" \ -d "<html><body><h1>测试PDF</h1><p>这是一个PDF渲染测试</p></body></html>" \ -o result.pdf
转PNG
请求示例:
bashcurl -X POST http://localhost:3000/render/png \ -H "Content-Type: text/plain" \ -d "<html><body><h1>测试PNG</h1><p>这是一个PNG渲染测试</p></body></html>" \ -o result.png
健康检查
响应示例:
json{ "status": "UP", "browsers": 2, "maxContextsPerBrowser": 4 }
dockerfileFROM docker.xuanyuan.run/ubuntu:22.04 LABEL authors="Jule" # 配置阿里云源 RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \ sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \ apt-get clean && apt-get update -y # 安装基础依赖 RUN apt-get install -y --no-install-recommends \ curl \ ca-certificates \ gnupg \ unzip \ wget \ fontconfig \ fonts-noto-cjk \ fonts-liberation \ libnss3 \ libatk1.0-0 \ libatk-bridge2.0-0 \ libcups2 \ libdrm2 \ libxkbcommon0 \ libxcomposite1 \ libxdamage1 \ libxfixes3 \ libxrandr2 \ libgbm1 \ libasound2 \ libpangocairo-1.0-0 \ libpango-1.0-0 \ libgtk-3-0 \ libxshmfence1 && \ rm -rf /var/lib/apt/lists/* # 安装Node.js 18并配置npm源 RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && \ apt-get update -y && apt-get install -y nodejs && \ rm -rf /var/lib/apt/lists/* && \ npm config set registry https://registry.npmmirror.com # 设置工作目录并拷贝业务文件 WORKDIR /app COPY package.json ./ COPY server.js ./ # 安装依赖和Playwright Chromium RUN if [ -f package.json ]; then npm install; fi && \ npx playwright install chromium --with-deps # 业务环境变量 ENV BROWSER_WORKERS=2 ENV MAX_CONTEXTS=4 # 暴露端口 EXPOSE 3000 # 启动命令 CMD ["node", "server.js"]
json{ "name": "render-service", "private": true, "type": "module", "dependencies": { "express": "^4.19.2", "playwright": "1.43.0" } }
(完整代码见原始描述,实现了Express服务、浏览器池管理及API接口逻辑)
以下是 julezhou/playwright 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务