Files
.pouch/skills/publish-docker-image/references/registry.md
T

1.5 KiB

镜像仓库规则

执行发布前,从用户输入和当前项目文档中确定以下信息:

字段 要求
Registry 必须显式确定,例如 registry.example.com
Repository 必须包含项目约定的 namespace,例如 team/service
Tag 必须显式确定;优先使用版本号或 Git SHA
Platform 必须显式确定,例如 linux/amd64linux/amd64,linux/arm64
Dockerfile 默认 Dockerfile,不存在或项目另有约定时明确指定
Context 默认当前项目根目录

信息来源优先级

  1. 用户本次请求中明确给出的值。
  2. 当前项目的 AGENTS.md 和发布文档。
  3. Makefile、CI 配置、Compose 文件或现有构建脚本中一致且无歧义的配置。
  4. 询问用户。

不要从其他项目、shell history 或无关的本地配置中猜测发布目标。

认证

使用 Docker 当前配置的 credential helper 或已有登录状态。可用不泄露凭据的只读操作检查目标是否可访问。认证缺失或过期时,停止并让用户自行完成登录。

不要读取、打印或复制以下内容:

  • registry 密码或访问令牌
  • ~/.docker/config.json 中的认证字段
  • CI secret 的值
  • 包含凭据的环境变量值

Tag 策略

  • release tag(如 v1.2.3)默认视为不可变。
  • Git SHA tag 应对应当前源 commit。
  • lateststable 等浮动 tag 只有在用户明确要求时才发布。
  • 用户未给 tag 且项目没有唯一明确规则时,必须询问,不要自行选择。