opbeans/opbeans-nodeOpbeans库存管理系统是由Elastic创建并维护的演示应用,本镜像为其Node.js实现版本,主要用于展示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应用名称(默认:opbeans-frontend package.json文件中的name字段)ELASTIC_APM_JS_SERVICE_VERSION - 客户端应用的Elastic APM应用版本(默认:opbeans-frontend package.json文件中的version字段)完整的Elastic APM代理环境变量列表参见官方文档。
完整的PostgreSQL环境变量列表参见官方文档。
初始化数据库表结构和基础数据:
bashnpm run db-setup
生成随机订单:
bashnode db/generate_orders.js <num>
其中<num>为要创建的订单数量。
bashnpm start
若NODE_ENV非production,执行npm install时会自动克隆、安装并构建opbeans-frontend。如需更新opbeans-frontend,运行:
bashnpm run client-update
最简单的测试方式:
bashmake test
测试基于bats编写,位于tests目录下。
发布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=[***] 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


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务