如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Opbeans库存管理系统是由Elastic创建并维护的演示应用,本镜像为其Node.js实现版本,主要用于展示Elastic APM(应用性能监控)功能。

该应用使用以下技术:
需设置以下环境变量:
NODE_ENV - Node环境(设为production以启用Elastic APM)PORT - Opbeans服务器运行端口(默认:3000)PGHOST - PostgreSQL服务器主机PGPORT - PostgreSQL服务器端口PGUSER - PostgreSQL数据库用户名PGPASSWORD - PostgreSQL数据库密码PGDATABASE - PostgreSQL数据库名称(默认:opbeans)ELASTIC_APM_SERVICE_NAME - 服务器应用的Elastic APM服务名称(默认:opbeans-node)ELASTIC_APM_SERVER_URL - APM服务器URL(默认:http://localhost:8200)ELASTIC_APM_JS_SERVER_URL - 客户端应用的Elastic APM服务器URL(默认:http://localhost:3000)ELASTIC_APM_JS_SERVICE_NAME - 客户端应用的Elastic APM应用名称(默认:https://github.com/elastic/opbeans-frontend/blob/master/package.json%E4%B8%AD%E7%9A%84%60name%60%E5%AD%97%E6%AE%B5%EF%BC%89ELASTIC_APM_JS_SERVICE_VERSION - 客户端应用的Elastic APM应用版本(默认:https://github.com/elastic/opbeans-frontend/blob/master/package.json%E4%B8%AD%E7%9A%84%60version%60%E5%AD%97%E6%AE%B5%EF%BC%89完整的Elastic APM代理环境变量列表参见官方文档。
完整的PostgreSQL环境变量列表参见官方文档。
初始化数据库表结构和基础数据:
bashnpm run db-setup
生成随机订单:
bashnode db/generate_orders.js <num>
其中<num>为要创建的订单数量。
bashnpm start
若NODE_ENV非production,执行npm install时会自动克隆、安装并构建https://github.com/elastic/opbeans-frontend。如需更新opbeans-frontend,运行:
bashnpm run client-update
最简单的测试方式:
bashmake test
测试基于https://github.com/sstephenson/bats%E7%BC%96%E5%86%99%EF%BC%8C%E4%BD%8D%E4%BA%8E%60tests%60%E7%9B%AE%E5%BD%95%E4%B8%8B%E3%80%82
发布Docker镜像:
bashVERSION=1.2.3 make publish
注意:VERSION指将发布到仓库的Docker镜像标签。
访问路径/is-it-coffee-time可触发应用内置错误。
应用提供两个添加客户的npm脚本:
customer-add-ok - 正常添加新客户customer-add-redos - 添加客户失败,同时阻塞服务器处理其他请求通过以下命令运行:
bashnpm run <name>
若在Docker环境中运行,可使用docker-compose:
bashdocker-compose exec opbeans-node npm run customer-add-redos
yamlversion: '3' services: opbeans-node: image: elastic/opbeans-node:latest ports: - "3000:3000" environment: - NODE_ENV=production - PGHOST=postgres - PGUSER=postgres - PGPASSWORD=postgres - PGDATABASE=opbeans - ELASTIC_APM_SERVER_URL=http://apm-server:8200 depends_on: - postgres - redis - apm-server postgres: image: postgres:9.5 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=opbeans volumes: - postgres-data:/var/lib/postgresql/data redis: image: redis:alpine apm-server: image: docker.elastic.co/apm/apm-server:latest environment: - output.elasticsearch.enabled=false - apm-server.host=0.0.0.0:8200 volumes: postgres-data:
bashdocker-compose up -d # 初始化数据库 docker-compose exec opbeans-node npm run db-setup # 生成100个测试订单 docker-compose exec opbeans-node node db/generate_orders.js 100
MIT
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务