
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!https://github.com/coreroller/coreroller/raw/master/docs/screenshots/coreroller.png
CoreRoller是一套用于控制和监控更新 rollout 的工具,旨在作为CoreOS CoreUpdate的开源替代方案。
截图:
2017年5月8日
CoreRoller 1.0版本发布!该项目从此采用语义化版本控制,自动构建的Docker镜像也会相应标记版本。如果您在此次发布前已使用CoreRoller,请查看下方的发布说明。
CoreRoller处于稳定状态,已在生产环境中使用超过一年,无重大问题。
如发现任何bug,请在仓库提交https://github.com/coreroller/coreroller/issues%E3%80%82
体验CoreRoller的最佳方式是使用Docker Hub上的公共镜像启动容器:
bashdocker run -d -p 8000:8000 coreroller/demo
容器启动后,在浏览器访问:
http://localhost:8000/
默认用户名/密码为admin/admin。
此演示容器运行PostgreSQL(CoreRoller的数据存储)和CoreRoller服务器(rollerd)。
除coreroller/demo镜像外,Docker Hub还有其他实用镜像:
这些镜像会在每次提交后自动重建和标记版本,Dockerfile位于backend/docker目录。
此外,backend/systemd目录提供systemd单元文件,可用于在CoreOS集群中通过fleet部署CoreRoller;backend/kubernetes目录提供Kubernetes配置文件(使用kubectl create -f backend/kubernetes部署)。这些文件为示例,可根据需求调整。
CoreRoller启动后,可用于管理集群中的CoreOS更新。新机器和现有机器的配置方式略有不同,均需更新CoreOS更新器的服务器URL(默认指向CoreOS公共服务器)。
在新机器的cloud config中设置更新服务器:
yamlcoreos: update: group: stable server: http://your.coreroller.host:port/v1/update/
除默认stable、beta、alpha分组外,还可创建自定义分组(需使用仪表盘分组名称旁的分组ID):
yamlcoreos: update: group: ab51a000-02dc-4fc7-a6b0-c42881c89856 server: http://your.coreroller.host:port/v1/update/
注意:示例容器默认使用8000端口(HTTP,无SSL),需根据部署调整URL。
编辑/etc/coreos/update.conf,更新SERVER(可选GROUP):
bashSERVER=https://your.coreroller.host/v1/update/ # 自定义分组需使用ID GROUP=ab51a000-02dc-4fc7-a6b0-c42881c89856
应用更改:
bashsudo systemctl restart update-engine
若需立即触发更新:
bashupdate_engine_client -update
注:CoreUpdate文档详细解释了此过程,大部分信息适用于CoreRoller,详见此处。
默认情况下,CoreRoller会定期轮询CoreOS公共更新服务器,创建包并更新频道(需联网)。可通过-enable-syncer=false禁用此功能。
默认仅存储CoreOS包元数据,实例需联网从CoreOS公共服务器下载包 payload。若需CoreRoller托管payload,需传递参数给rollerd:
bashrollerd -host-coreos-packages=true -coreos-packages-path=/PATH/TO/STORE/PACKAGES -coreroller-url=http://your.coreroller.host:port
CoreRoller可用于管理自定义应用更新,发送Omaha更新和事件请求简单易行。
updaters/lib目录提供示例助手,可用于创建与CoreRoller交互的更新器;updaters/examples目录提供使用https://github.com/***go/grace%E6%9E%84%E5%BB%BA%E7%9A%84%E7%A4%BA%E4%BE%8B%E5%BA%94%E7%94%A8%EF%BC%8C%E5%8F%AF%E9%80%9A%E8%BF%87CoreRoller%E4%BC%98%E9%9B%85%E6%9B%B4%E6%96%B0%E8%87%AA%E8%BA%AB%E3%80%82
CoreRoller支持在特定事件发生时发送HipChat通知(如频道指向新包、rollout开始/失败/成功等)。需为rollerd设置环境变量:
bashCR_HIPCHAT_ROOM=ROOM_ID CR_HIPCHAT_TOKEN=TOKEN
CoreRoller是开源项目,欢迎贡献。提交新功能或重大变更前,请先打开https://github.com/coreroller/coreroller/issues%E8%AE%A8%E8%AE%BA%E3%80%82
CoreRoller后端(rollerd)是Golang应用,使用gb管理构建和依赖。后端代码位于backend/src:
代码需使用gofmt格式化,并通过https://github.com/alecthomas/gometalinter%E6%A3%80%E6%9F%A5%E3%80%82
后端数据存储(PostgreSQL)
CoreRoller使用PostgreSQL,需安装或使用coreroller/postgres镜像。手动创建数据库:
bashpsql -U postgres -c "create database coreroller;" # 测试数据库 psql -U postgres -c "create database coreroller_tests;"
前端(仪表盘)是基于react/flux的JavaScript应用。需Node.js安装依赖并构建:
bash# 进入frontend目录 npm install npm run build
构建文件位于frontend/built,可通过rollerd直接服务。开发时可使用watch命令:
bashnpm run watch # 监控js和css npm run watch-js # 仅监控js npm run watch-css # 仅监控css
主要变更:移除PostgreSQL semver扩展,合并数据库迁移。升级步骤:
bashpg_dump -h COREROLLER_DB -U postgres -d coreroller --data-only --exclude-table=database_migrations > coreroller_backup.sql
bashpsql -h NEW_COREROLLER_DB -U postgres -c "create database coreroller;"
bashpsql -h NEW_COREROLLER_DB -U postgres -d coreroller -c "delete from team; delete from event_type; delete from instance;"
bashpsql -h NEW_COREROLLER_DB -U postgres coreroller < coreroller_backup.sql
CoreRoller基于Apache 2.0许可证发布。
由Cintia Sánchez García、Mathieu Lohier和Sergio Castaño Arteaga创建。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务