如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像提供了在OCI(开放容器倡议)容器镜像仓库之间镜像和同步TUF(The Update Framework)元数据的功能。TUF元数据是保障软件更新分发安全性的核心组件,负责验证更新包的完整性、真实性和时效性。通过本镜像,用户可便捷地在多个OCI仓库(如Docker Hub、Harbor、AWS ECR、Google Artifact Registry等)之间实现TUF元数据的双向同步,确保跨环境、跨平台的软件更新流程安全可靠。
从Docker Hub或私有仓库拉取镜像:
bashdocker pull [镜像仓库地址]/tuf-mirror-oci:latest
(注:请替换[镜像仓库地址]为实际镜像存放地址,如官方仓库或企业私有仓库)
通过docker run执行同步任务,需指定源仓库和目标仓库信息:
bashdocker run --rm \ -e SOURCE_REGISTRY="https://source-registry.example.com" \ -e SOURCE_USER="source-user" \ -e SOURCE_PASSWORD="source-pass" \ -e TARGET_REGISTRY="https://target-registry.example.com" \ -e TARGET_USER="target-user" \ -e TARGET_PASSWORD="target-pass" \ [镜像仓库地址]/tuf-mirror-oci:latest sync
通过环境变量或挂载配置文件(/app/config.yaml)定义同步参数,常用环境变量如下:
| 参数名 | 描述 | 必填 | 示例值 |
|---|---|---|---|
SOURCE_REGISTRY | 源OCI仓库URL | 是 | https://harbor.example.com |
SOURCE_USER | 源仓库认证用户名 | 否 | admin |
SOURCE_PASSWORD | 源仓库认证密码 | 否 | secure-password |
SOURCE_TOKEN | 源仓库认证令牌(替代用户名密码) | 否 | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... |
TARGET_REGISTRY | 目标OCI仓库URL | 是 | https://docker.io/my-org |
TARGET_USER | 目标仓库认证用户名 | 否 | target-admin |
TARGET_PASSWORD | 目标仓库认证密码 | 否 | target-secure-pass |
TARGET_TOKEN | 目标仓库认证令牌(替代用户名密码) | 否 | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... |
SYNC_INTERVAL | 周期性同步间隔(秒),0为单次同步 | 否 | 3600(默认,1小时) |
VERIFY_TUF | 是否验证TUF元数据有效性 | 否 | true(默认)/false |
TUF_ROOT_METADATA | TUF根元数据文件路径(挂载) | 否 | /app/root.json |
LOG_LEVEL | 日志级别 | 否 | info(默认)/debug/warn/error |
创建docker-compose.yml实现持久化配置和后台运行:
yamlversion: '3.8' services: tuf-mirror: image: [镜像仓库地址]/tuf-mirror-oci:latest restart: unless-stopped environment: - SOURCE_REGISTRY=https://primary-harbor.example.com - SOURCE_USER=sync-user - SOURCE_PASSWORD=${SOURCE_PWD} # 建议通过.env文件注入敏感信息 - TARGET_REGISTRY=https://backup-harbor.example.com - TARGET_USER=sync-user - TARGET_PASSWORD=${TARGET_PWD} - SYNC_INTERVAL=1800 # 30分钟同步一次 - LOG_LEVEL=info volumes: - ./tuf-root:/app/tuf-root # 挂载本地TUF根元数据目录 - ./config.yaml:/app/config.yaml # 可选:挂载自定义配置文件
启动服务:
bashdocker-compose up -d
1. 单次从源仓库同步到目标仓库
bashdocker run --rm \ -e SOURCE_REGISTRY=https://source-registry:5000 \ -e SOURCE_TOKEN=source-auth-token \ -e TARGET_REGISTRY=https://target-registry:5000 \ -e TARGET_TOKEN=target-auth-token \ -e SYNC_INTERVAL=0 \ # 单次同步 [镜像仓库地址]/tuf-mirror-oci:latest sync
2. 验证目标仓库元数据与源仓库一致性
bashdocker run --rm \ -e SOURCE_REGISTRY=https://source-registry:5000 \ -e TARGET_REGISTRY=https://target-registry:5000 \ [镜像仓库地址]/tuf-mirror-oci:latest verify
3. 使用自定义配置文件同步
创建config.yaml:
yamlsource: registry: https://primary-registry.example.com auth: type: token token: "source-token-here" targets: - registry: https://backup-registry.example.com auth: type: basic user: "backup-user" password: "backup-pass" - registry: https://dr-registry.example.com # 支持多个目标仓库 auth: type: token token: "dr-token-here" sync: interval: 3600 verify: true include_expired: false # 不同步已过期的TUF元数据
执行同步:
bashdocker run --rm \ -v ./config.yaml:/app/config.yaml \ [镜像仓库地址]/tuf-mirror-oci:latest sync --config /app/config.yaml
.env)或密钥管理服务(如Vault)注入您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






来自真实用户的反馈,见证轩辕镜像的优质服务