
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Phoenix容器设计用于检测远程代码仓库分支的新提交,随后关闭并重启(立即或准备就绪时),拉取最新变更。其核心机制是:启动时使用环境变量提供的SSH私钥配置认证,检出或拉取指定分支,执行用户命令作为后台任务;PID 1进程定期检查远程分支新提交,根据配置执行立即重启或创建更新标记文件,待后台任务完成后容器退出并重启(需配置自动重启策略),从而实现代码自动更新与应用持续运行的循环。
~/.ssh/id_rsa,支持Git仓库认证RESTART:检测到新提交后立即关闭容器(依赖自动重启策略更新)FILE:创建GIT_UPDATE_DETECTED文件,供后台任务感知并执行收尾操作后退出适用于需要自动更新代码并重启的场景,包括但不限于:
| 参数 | 功能说明 |
|---|---|
-e GIT_REPO=git@github.com:MikeFez/Phoenix.git | 必填,远程Git仓库URL,包含待运行和更新的脚本 |
-e LAUNCH_CMD=sh launch.sh | 可选,默认sh launch.sh,代码更新后在仓库目录中执行的后台命令(如python3 app.py、sh start.sh等) |
-e SSH_PRIVATE_KEY= | 可选,默认空,用于Git仓库认证的SSH私钥(需将换行符替换为\n,建议存储在.env文件中),若仓库需要认证则必须提供 |
-e REPO_BRANCH=master | 可选,默认master,需检出并监控新提交的分支名 |
-e GIT_LOCAL_FOLDER=/opt/local_repository | 可选,默认/opt/local_repository,Git仓库本地存储路径,也是LAUNCH_CMD的执行目录 |
-e UPDATE_METHOD=FILE | 可选,默认FILE,新提交检测后的处理策略:RESTART(立即关闭容器)或FILE(创建GIT_UPDATE_DETECTED文件) |
-e ADDITIONAL_APK= | 可选,默认空,启动时需安装的额外系统包(用逗号分隔,无空格,如libssl-dev,python3) |
-e SECONDS_BETWEEN_CHECKS=30 | 可选,默认30,远程分支提交检查的时间间隔(秒) |
yaml--- version: "3" services: custom-script-phoenix-will-manage: image: mikefez/Phoenix container_name: custom-script-phoenix-will-manage environment: - SSH_PRIVATE_KEY # 建议在.env文件中设置,也可直接提供 - GIT_REPO=git@github.com:MikeFez/Phoenix.git # 必填:远程仓库地址 - LAUNCH_CMD=sh launch.sh # 可选:若仓库中存在launch.sh,可省略 - REPO_BRANCH=master # 可选:默认master分支 - GIT_LOCAL_FOLDER=/opt/local_repository # 可选:默认仓库路径 - UPDATE_METHOD=FILE # 可选:默认FILE策略 - ADDITIONAL_APK=libssl-dev,python3 # 可选:安装额外依赖包 - SECONDS_BETWEEN_CHECKS=30 # 可选:默认30秒检查间隔 volumes: # 卷不是必需的,但可添加以保持容器与主机时间一致 - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro restart: unless-stopped # 必须启用此策略以确保容器重启并更新代码
restart: unless-stopped:核心配置,确保容器退出后自动重启,从而拉取最新代码并重新执行命令SSH_PRIVATE_KEY:若仓库为私有,需提供包含换行符替换为\n的私钥(例如:-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQE...\n-----END RSA PRIVATE KEY-----)UPDATE_METHOD=FILE:适用于需要优雅关闭的场景,后台脚本可通过检测GIT_UPDATE_DETECTED文件执行数据保存、连接关闭等操作后退出,触发容器重启您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务