Files
docker_practice/06_repository
yeasy b81816bb07 fix(content): 修正已随上游变化失效的版本事实与镜像引用
深审发现 14 处正文与上游现状不符(另有 4 处在 .agent/ 本地记忆,不入库)。
全部经官方一手源核验,并由独立复核者逐条尝试证伪后保留。

**Docker Content Trust 已从 CLI 移除(本书基线正是 Engine 29.x)**
- 18.6:`docker trust`、`DOCKER_CONTENT_TRUST` 的示例此前标为“历史用法”,
  但未说明命令在 29.x 上根本不存在。Engine 29.0 release notes 原文:
  "Docker Content Trust was removed from the Docker CLI";实测 docker/cli
  的 cli/trust 包在 v28.5.0 返回 200、v29.0.0 返回 404
- 2.3、18.6:DCT 不再是“弃用阶段、时间线待公布”——官方 retired 页已给出
  完整时间表(notary.docker.io 2026-12-08 关闭)
- 注意:`--disable-content-trust` 是 MarkDeprecated(隐藏但仍接受为 no-op),
  不是“不可用”。初版提议写成不可用,经复核纠正后才落地

**etcd 维护分支写反了**
- 15_etcd README/15.1/15.2 均称“3.5 已退出维护窗口”,但 2026-07-23 官方与
  v3.7.1、v3.6.14 同批发布了 v3.5.33,公告称三个分支均在维护;3.4 EOL 也应
  是 2026-06(v3.4.45),非 5 月

**其他上游变化**
- 17.6:containerd 首个 2.x LTS 是 2.0(2024-11-05 起),非 2.3
- 6.4:`sonatype/nexus3:3.69` 这个 tag 从不存在(Sonatype 用三段式),改 3.69.0
- appendix/repo/centos:`rockylinux` 官方镜像已冻结(最后推送 2024-05-30),
  改用官方指引的 `rockylinux/rockylinux`(2026-07-12 仍在更新)
- 6.2/6.3:docs.docker.com/registry/ 已 301 到 retired 页,改指
  distribution.github.io(实测 200)
- 6.1:`docker search centos` 的示例输出补上上游现有的 DEPRECATED 标记

**刻意未改**:`minio/minio` 虽在 Docker Hub 标记 archived,但提议替换的
quay.io/minio/minio 最新 tag 停在 2024-07-31,比 Docker Hub 的 2025-09-07
更旧,照改会把读者引向更陈旧的仓库,留待作者定夺。

验证:check_project_rules 202 文件全过、emphasis 全过、40 测试通过、format 干净。
2026-07-28 20:12:47 -07:00
..

第六章 访问仓库

仓库 (Repository) 是集中存放镜像的地方。

一个容易混淆的概念是注册服务器 (Registry)。实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以被认为是一个具体的项目或目录。例如对于仓库地址 docker.io/ubuntu 来说,docker.io 是注册服务器地址,ubuntu 是仓库名。

大部分时候,并不需要严格区分这两者的概念。

版本号说明

本章涉及的 Registry 和相关工具版本说明:

  • Docker Registry / CNCF Distribution:本章示例使用 registry:2 兼容路径;新生产部署应评估 Distribution 3.x,并核对配置路径、迁移说明和生态兼容性。已停止维护的 registry:1 不建议使用
  • Nexus 3:建议指定具体版本(如 sonatype/nexus3:3.69)而非 latest,避免自动升级带来的兼容性问题
  • 镜像标签规范
    • 生产环境推送至仓库时应明确指定版本号(如 myapp:v1.0.0
    • 避免依赖 latest 标签,因为其含义存在歧义且易导致版本混淆

为什么需要私有仓库?

在讨论具体的安装和配置前,让我们先理解:什么时候你应该建设私有仓库?

开发团队(有专利代码、不能公开):

  • 需要私有仓库存储内部镜像
  • 涉及访问控制和审计
  • 强烈推荐使用托管方案(如 Harbor 或云厂商提供的镜像仓库)

开源项目或个人学习

  • Docker Hub 公开仓库足够
  • 无需自建私有仓库的成本

企业级部署

  • 需要高可用、备份、灾难恢复
  • 推荐使用专业级方案(Nexus 3、Harbor)而非简单的 Registry

本章涵盖的方案从简到复杂:

  • Docker Registry:最小化部署(适合简单场景)
  • 私有仓库高级配置:添加认证、HTTPS 等生产必需项
  • Nexus 3:企业级完整解决方案,支持权限管理、备份等

本章内容