diff --git a/02_basic_concept/2.3_repository.md b/02_basic_concept/2.3_repository.md index f691717..27572ec 100644 --- a/02_basic_concept/2.3_repository.md +++ b/02_basic_concept/2.3_repository.md @@ -255,7 +255,7 @@ someuser/myapp # ⚠️ 需要评估 #### 镜像签名 -当前更推荐使用 Sigstore / Notation 体系进行镜像签名与验证。`Docker Content Trust (DCT)` 已进入弃用阶段:Docker 官方说明最早一批 DCT 签名证书自 2025 年 8 月 8 日起开始过期,并建议镜像发布者迁移到 Sigstore、Notation 等方案;完整弃用时间线仍以 Docker 后续公告为准。不建议把 DCT 作为新项目方案。 +当前更推荐使用 Sigstore / Notation 体系进行镜像签名与验证。`Docker Content Trust (DCT)` 已被正式退役:自 Docker Engine 29.0 起 DCT 已从 Docker CLI 中移除(`docker trust` 子命令不再随 CLI 发布,仅能作为独立插件自行构建;`docker push`、`docker pull`、`docker build`、`docker run` 等命令上的 `--disable-content-trust` 选项虽仍可解析,但已标记为废弃且不再有实际作用),Docker 官方的 Notary v1 服务 `notary.docker.io` 也将于 2026 年 12 月 8 日完全关闭;最早一批 DCT 签名证书自 2025 年 8 月 8 日起已开始过期,Docker 建议镜像发布者迁移到 Sigstore、Notation 等方案。不建议把 DCT 作为新项目方案。 > 注意:Cosign 默认会把签名推送回镜像所在仓库,请使用你有推送权限的镜像地址。 diff --git a/06_repository/6.1_dockerhub.md b/06_repository/6.1_dockerhub.md index d684243..85b7ef6 100644 --- a/06_repository/6.1_dockerhub.md +++ b/06_repository/6.1_dockerhub.md @@ -27,8 +27,8 @@ Docker Hub 是 Docker 的中央镜像仓库,通过它您可以轻松地分享 ```bash $ docker search centos -NAME DESCRIPTION STARS OFFICIAL -centos The official build of CentOS. 7000+ [OK] +NAME DESCRIPTION STARS OFFICIAL +centos DEPRECATED; The official build of CentOS. 7000+ [OK] ``` > **技巧**:始终优先使用 `OFFICIAL` 标记为 `[OK]` 的镜像,安全性更有保障。 diff --git a/06_repository/6.2_registry.md b/06_repository/6.2_registry.md index 86227fc..ef18e1e 100644 --- a/06_repository/6.2_registry.md +++ b/06_repository/6.2_registry.md @@ -4,7 +4,7 @@ 本节介绍如何使用本地仓库。 -[Docker Registry](https://docs.docker.com/registry/) 是官方提供的工具,可以用于构建私有的镜像仓库。本文示例沿用 [distribution/distribution](https://github.com/distribution/distribution) v2.x 兼容路径;新生产部署应评估 Distribution 3.x,并核对配置路径、迁移说明和生态兼容性。 +[Docker Registry](https://distribution.github.io/distribution/) 是官方提供的工具,可以用于构建私有的镜像仓库。本文示例沿用 [distribution/distribution](https://github.com/distribution/distribution) v2.x 兼容路径;新生产部署应评估 Distribution 3.x,并核对配置路径、迁移说明和生态兼容性。 ### 6.2.1 安装运行 docker-registry diff --git a/06_repository/6.3_registry_auth.md b/06_repository/6.3_registry_auth.md index c431af7..04c3fa2 100644 --- a/06_repository/6.3_registry_auth.md +++ b/06_repository/6.3_registry_auth.md @@ -215,4 +215,4 @@ no basic auth credentials ### 6.3.8 注意事项 -如果你本机占用了 `443` 端口,你可以配置 [Nginx 代理](https://docs.docker.com/registry/recipes/nginx/),这里不再赘述。 +如果你本机占用了 `443` 端口,你可以配置 [Nginx 代理](https://distribution.github.io/distribution/recipes/nginx/),这里不再赘述。 diff --git a/06_repository/6.4_nexus3_registry.md b/06_repository/6.4_nexus3_registry.md index cab0760..1074923 100644 --- a/06_repository/6.4_nexus3_registry.md +++ b/06_repository/6.4_nexus3_registry.md @@ -8,10 +8,10 @@ $ docker run -d --name nexus3 --restart=always \ -p 8081:8081 \ --mount src=nexus-data,target=/nexus-data \ - sonatype/nexus3:3.69 + sonatype/nexus3:3.69.0 ``` -> **版本说明**:使用 `sonatype/nexus3:3.69` 指定稳定的 Nexus 版本。使用具体版本号而非 `latest` 可以避免意外升级带来的不兼容问题。 +> **版本说明**:使用 `sonatype/nexus3:3.69.0` 指定稳定的 Nexus 版本。使用具体版本号而非 `latest` 可以避免意外升级带来的不兼容问题。 首次运行需等待 3-5 分钟,你可以使用 `docker logs nexus3 -f` 查看日志: ```bash diff --git a/15_etcd/15.1_intro.md b/15_etcd/15.1_intro.md index f416e94..22c8ae0 100644 --- a/15_etcd/15.1_intro.md +++ b/15_etcd/15.1_intro.md @@ -1,6 +1,6 @@ ## 15.1 简介 -> **版本说明:** 本章内容基于 etcd 3.5 系列版本编写。官方维护最新两个次版本(2026 年 7 月 etcd 3.7.0 发布后为 3.6 和 3.7,3.5 已退出维护窗口)。请访问 [etcd 官方发布页](https://github.com/etcd-io/etcd/releases) 获取最新版本信息。 +> **版本说明:** 本章内容基于 etcd 3.5 系列版本编写。etcd 3.7.0 于 2026 年 7 月发布,官方仍在维护 3.5、3.6、3.7 三个发布分支。请访问 [etcd 官方发布页](https://github.com/etcd-io/etcd/releases) 获取最新版本信息。 如图 15-1 所示,etcd 项目使用该标识。 diff --git a/15_etcd/15.2_install.md b/15_etcd/15.2_install.md index d01463e..5b85641 100644 --- a/15_etcd/15.2_install.md +++ b/15_etcd/15.2_install.md @@ -4,7 +4,7 @@ `etcd` 基于 `Go` 语言实现,因此,用户可以从[项目主页](https://github.com/etcd-io/etcd)下载源代码自行编译,也可以下载编译好的二进制文件,甚至直接使用制作好的 `Docker` 镜像文件来体验。 -> 注意:etcd 官方仅维护最新两个次版本(2026 年 7 月 etcd 3.7.0 发布后为 3.6 和 3.7)。etcd 3.4 已于 2026 年 5 月结束支持(EOL),3.5 也已退出维护窗口,仍在使用的用户应尽快升级。本章示例基于 etcd `3.5.x` 版本编写,etcd 3.6.x/3.7.x 可用于新部署。请访问 [etcd 官方发布页](https://github.com/etcd-io/etcd/releases) 获取最新版本。 +> 注意:etcd 3.7.0 于 2026 年 7 月发布,官方仍在维护 3.5、3.6、3.7 三个发布分支。etcd 3.4 已随 2026 年 6 月的 v3.4.45 结束支持(EOL),仍在使用的用户应尽快升级。本章示例基于 etcd `3.5.x` 版本编写,etcd 3.6.x/3.7.x 可用于新部署。请访问 [etcd 官方发布页](https://github.com/etcd-io/etcd/releases) 获取最新版本。 ### 15.2.1 二进制文件方式下载 diff --git a/15_etcd/README.md b/15_etcd/README.md index 97beb6c..b55979a 100644 --- a/15_etcd/README.md +++ b/15_etcd/README.md @@ -2,7 +2,7 @@ `etcd` 是 `CoreOS` 团队发起的一个管理配置信息和服务发现 (`Service Discovery`) 的项目,在这一章里面,我们将基于 `etcd 3.5 系列`版本介绍该项目的目标,安装和使用,以及实现的技术。 -> **版本说明:** 本章示例基于 etcd 3.5 系列版本编写。etcd 官方维护最新两个次版本(2026 年 7 月 etcd 3.7.0 发布后为 3.6 和 3.7,3.5 已退出维护窗口)。请访问 [etcd 官方发布页](https://github.com/etcd-io/etcd/releases) 获取最新版本信息。 +> **版本说明:** 本章示例基于 etcd 3.5 系列版本编写。etcd 3.7.0 于 2026 年 7 月发布,官方仍在维护 3.5、3.6、3.7 三个发布分支。请访问 [etcd 官方发布页](https://github.com/etcd-io/etcd/releases) 获取最新版本信息。 ## 本章内容 diff --git a/17_ecosystem/17.6_containerd.md b/17_ecosystem/17.6_containerd.md index 190c36d..76650db 100644 --- a/17_ecosystem/17.6_containerd.md +++ b/17_ecosystem/17.6_containerd.md @@ -41,7 +41,7 @@ Kubernetes 作为一个容器编排系统,为了屏蔽底层不同容器运行 - 早期版本中,Kubernetes 默认使用 docker 作为运行时,通过一个名为 `dockershim` 的桥接组件对接 Docker,Docker 再对接 containerd。 - 随着 containerd 原生支持了 CRI 插件,Kubernetes 开始直接与 containerd 通信,去掉了 `dockershim` 和 `dockerd` 的中间层。这就是为什么从 Kubernetes 1.24+ 开始“弃用 Docker”引发了广泛关注,实际上 Kubernetes 只是弃用 `dockershim`,底层可以使用 containerd、CRI-O 等符合 CRI 的运行时。参见 [Kubernetes 官方文档](https://kubernetes.io/docs/setup/production-environment/container-runtimes/)。 -- containerd 2.0+ 移除了已弃用的 CRI v1alpha2 接口,仅保留 CRI v1(Kubernetes 1.26+ 仅支持 CRI v1)。如果集群中仍有依赖 CRI v1alpha2 的组件,升级 containerd 2.x 前需先完成迁移。containerd 2.3+ 是 2.x 系列首个 LTS 版本,支持从 1.7 LTS 直接升级,生产环境推荐使用。详见 [containerd 发布说明](https://github.com/containerd/containerd/releases)。 +- containerd 2.0+ 移除了已弃用的 CRI v1alpha2 接口,仅保留 CRI v1(Kubernetes 1.26+ 仅支持 CRI v1)。如果集群中仍有依赖 CRI v1alpha2 的组件,升级 containerd 2.x 前需先完成迁移。containerd 2.x 系列中 2.0 和 2.3 均为 LTS 版本,其中 2.3 支持从 1.7 LTS 直接升级,生产环境推荐使用。详见 [containerd 发布说明](https://github.com/containerd/containerd/releases)。 ### 17.6.3 为什么直接使用 containerd? diff --git a/18_security/18.6_image_security.md b/18_security/18.6_image_security.md index ef8ac3a..f21d74f 100644 --- a/18_security/18.6_image_security.md +++ b/18_security/18.6_image_security.md @@ -291,11 +291,11 @@ notation verify myregistry.com/myapp@sha256: > **注意:DCT 退役时间线** > -> Docker 已宣布[退役 Content Trust](https://www.docker.com/blog/retiring-docker-content-trust/),Docker Official Images 的部分 DCT 签名证书自 2025 年 8 月起已陆续过期;完整退役节奏应以 Docker 官方公告和你所使用的 registry 服务商文档为准。不要把云厂商特定日期直接当作 Docker 全局时间线。 +> Docker 已宣布[退役 Content Trust](https://www.docker.com/blog/retiring-docker-content-trust/),Docker Official Images 的部分 DCT 签名证书自 2025 年 8 月起已陆续过期;根据 [Docker 官方退役说明](https://docs.docker.com/retired/),Notary v1 服务 `notary.docker.io` 在 2026 年 7 月、8 月安排若干次 brownout(短时停服演练)之后,于 2026 年 12 月 8 日完全关闭。registry 服务商的具体节奏以其自身文档为准,不要把云厂商特定日期直接当作 Docker 全局时间线。 > > 新项目应优先使用上文介绍的 **Cosign (Sigstore)** 或 registry 原生签名/证明能力;现有 DCT 用户应先盘点依赖、验证替代方案,再制定迁移计划。 -Docker Content Trust 使用 Notary v1 实现镜像签名,是 Docker 官方的传统签名解决方案,不建议新项目采用。 +Docker Content Trust 使用 Notary v1 实现镜像签名,是 Docker 官方的传统签名解决方案,不建议新项目采用。**自 Docker Engine 29.0 起,Docker Content Trust 已从 Docker CLI 中移除**:`docker trust` 子命令不再内置(官方仅保留为可单独构建的插件),`DOCKER_CONTENT_TRUST` 环境变量不再生效,`docker push --disable-content-trust` 也仅作为已废弃选项保留、不再有实际作用。下面的示例仅适用于 Docker Engine 28.x 及更早版本。 **历史用法示例(不建议新项目采用):** diff --git a/appendix/repo/centos.md b/appendix/repo/centos.md index 849c7cc..2385260 100644 --- a/appendix/repo/centos.md +++ b/appendix/repo/centos.md @@ -7,7 +7,7 @@ > ⚠️ **重要提示**:CentOS 8 已于 2021 年 12 月 31 日停止维护 (EOL),CentOS 7 也已于 2024 年 6 月 30 日 **完全结束支持**。Docker Hub 上的 CentOS 官方镜像 **已停止更新** 且存在未修复的安全漏洞。 > > 2026 年了,对于任何新项目,**强烈建议** 使用以下生产级替代方案: -> - [Rocky Linux](https://hub.docker.com/_/rockylinux):CentOS 原创始人发起的社区驱动项目,目前主流为 Rocky Linux 9。 +> - [Rocky Linux](https://hub.docker.com/r/rockylinux/rockylinux):CentOS 原创始人发起的社区驱动项目,目前主流为 Rocky Linux 9。 > - [AlmaLinux](https://hub.docker.com/_/almalinux):由 CloudLinux 支持的企业级发行版,提供长期支持。 > - [CentOS Stream](https://quay.io/repository/centos/centos):RHEL 的上游开发分支,镜像已迁移至 Quay.io (适合开发测试,不建议用于生产环境)。 @@ -18,7 +18,7 @@ 使用 Rocky Linux 9 替代 (**推荐**): ```bash -$ docker run --name rocky -it rockylinux:9 bash +$ docker run --name rocky -it rockylinux/rockylinux:9 bash ``` 使用旧版 CentOS 7 (**仅用于维护旧项目,不推荐**):