From d81405a807b4e4dcd64c6840d065e41c7082b638 Mon Sep 17 00:00:00 2001 From: yeasy Date: Fri, 17 Apr 2026 21:17:12 -0700 Subject: [PATCH] Update versions and fix stale data --- 11_compose/11.1_introduction.md | 2 +- 17_ecosystem/17.6_containerd.md | 3 ++- 19_observability/19.2_elk.md | 2 +- 20_cases_os/20.2_alpine.md | 15 ++++++++------- 20_cases_os/20.4_centos.md | 2 +- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/11_compose/11.1_introduction.md b/11_compose/11.1_introduction.md index 1d75e8c..8a5dc7a 100644 --- a/11_compose/11.1_introduction.md +++ b/11_compose/11.1_introduction.md @@ -34,6 +34,6 @@ Docker Compose 默认使用 `compose.yaml`,也兼容 `compose.yml`、`docker-c `Compose` 项目早期由 Python 编写,称为 Docker Compose V1。 -现在的 Docker Compose V2 是一个 Go 语言编写的 Docker CLI 插件。Docker Desktop 默认包含它;在 Linux 上,也可以将它作为独立的 CLI 插件安装后直接通过 `docker compose` 命令使用。它提供了更快的性能和更好的集成体验。 +现在的 Docker Compose V2 是一个 Go 语言编写的 Docker CLI 插件(当前版本号已演进至 v5.x 系列,以避免与旧 Compose 文件格式版本混淆)。Docker Desktop 默认包含它;在 Linux 上,也可以将它作为独立的 CLI 插件安装后直接通过 `docker compose` 命令使用。它提供了更快的性能和更好的集成体验。 只要所操作的平台支持 Docker API,就可以在其上利用 `Compose` 来进行编排管理。 diff --git a/17_ecosystem/17.6_containerd.md b/17_ecosystem/17.6_containerd.md index 01abe07..13075c1 100644 --- a/17_ecosystem/17.6_containerd.md +++ b/17_ecosystem/17.6_containerd.md @@ -34,7 +34,8 @@ Kubernetes 作为一个容器编排系统,为了屏蔽底层不同容器运行时的实现差异,引入了 CRI(Container Runtime Interface)标准。 - 早期版本中,Kubernetes 默认使用 docker 作为运行时,通过一个名为 `dockershim` 的桥接组件对接 Docker,Docker 再对接 containerd。 -- 随着 containerd 原生支持了 CRI 插件,Kubernetes 开始直接与 containerd 通信,去掉了 `dockershim` 和 `dockerd` 的中间层。这就是为什么从 Kubernetes v1.24 开始“弃用 Docker”引发了广泛关注,实际上 Kubernetes 只是弃用 `dockershim`,底层依然在使用从 Docker 基因中诞生的 containerd。 +- 随着 containerd 原生支持了 CRI 插件,Kubernetes 开始直接与 containerd 通信,去掉了 `dockershim` 和 `dockerd` 的中间层。这就是为什么从 Kubernetes v1.24 开始”弃用 Docker”引发了广泛关注,实际上 Kubernetes 只是弃用 `dockershim`,底层依然在使用从 Docker 基因中诞生的 containerd。 +- containerd 2.0 移除了已弃用的 CRI v1alpha2 接口,仅保留 CRI v1(Kubernetes 自 v1.23 起已支持 CRI v1)。如果集群中仍有依赖 CRI v1alpha2 的组件,升级 containerd 2.x 前需先完成迁移。 ### 为什么直接使用 containerd? diff --git a/19_observability/19.2_elk.md b/19_observability/19.2_elk.md index 352110d..82ae8ab 100644 --- a/19_observability/19.2_elk.md +++ b/19_observability/19.2_elk.md @@ -17,7 +17,7 @@ ELK (Elasticsearch,Logstash,Kibana) 是目前业界最流行的开源日志 #### 1. 编写 Compose 文件 -1. 编写 `compose.yaml` (或 `docker-compose.yml`) 配置如下: +1. 编写 `compose.yaml` (或 `docker-compose.yml`) 配置如下(示例基于 Elasticsearch 8.x,当前最新大版本为 9.x,请根据需要选择版本并查阅 [Elastic 官方文档](https://www.elastic.co/docs/) 确认配置兼容性): ```yaml services: diff --git a/20_cases_os/20.2_alpine.md b/20_cases_os/20.2_alpine.md index c2c2ae2..5d4fb4a 100644 --- a/20_cases_os/20.2_alpine.md +++ b/20_cases_os/20.2_alpine.md @@ -12,20 +12,21 @@ `Alpine` 由非商业组织维护的,支持广泛场景的 `Linux` 发行版,它特别为资深/重度 `Linux` 用户而优化,关注安全,性能和资源效能。`Alpine` 镜像可以适用于更多常用场景,并且是一个优秀的可以适用于生产的基础系统/环境。 -`Alpine` Docker 镜像也继承了 `Alpine Linux` 发行版的这些优势。相比于其他 `Docker` 镜像,它的容量非常小,仅仅只有 **5 MB** 左右 (对比 `Ubuntu` 系列镜像接近 `200 MB`),且拥有非常友好的包管理机制。官方镜像来自 `docker-alpine` 项目。 +`Alpine` Docker 镜像也继承了 `Alpine Linux` 发行版的这些优势。相比于其他 `Docker` 镜像,它的容量非常小,压缩后仅约 **3.6 MB**(对比 `Ubuntu` 系列镜像约 `28 MB`),且拥有非常友好的包管理机制。官方镜像来自 `docker-alpine` 项目。 目前 Docker 官方已开始推荐使用 `Alpine` 替代之前的 `Ubuntu` 做为基础镜像环境。这样会带来多个好处。包括镜像下载速度加快,镜像安全性提高,主机之间的切换更方便,占用更少磁盘空间等。 -下表是官方镜像的大小比较: +下表是官方镜像的大小比较(压缩后大小,实际数据以 Docker Hub 为准): ```bash -REPOSITORY TAG IMAGE ID VIRTUAL SIZE -alpine latest 4e38e38c8ce0 4.799 MB -debian latest 4d6ce913b130 84.98 MB -ubuntu latest b39b81afc8ca 188.3 MB -centos latest 8efe422e6104 210 MB +REPOSITORY TAG COMPRESSED SIZE +alpine latest ~3.6 MB +debian latest ~30 MB +ubuntu latest ~28 MB ``` +> **提示**:镜像大小会随版本更新而变化,精确值请查阅 [Docker Hub](https://hub.docker.com/) 各镜像的 Tags 页面。Alpine 的优势不仅在于体积小,还在于更少的预装包带来更小的攻击面。 + ### 20.2.2 获取并使用官方镜像 由于镜像很小,下载时间往往很短,读者可以直接使用 `docker run` 指令直接运行一个 `Alpine` 容器,并指定运行的 Linux 指令,例如: diff --git a/20_cases_os/20.4_centos.md b/20_cases_os/20.4_centos.md index ae54d52..815dbfc 100644 --- a/20_cases_os/20.4_centos.md +++ b/20_cases_os/20.4_centos.md @@ -14,7 +14,7 @@ CentOS (Community Enterprise Operating System,中文意思是:社区企业 CentOS 官方镜像的使用非常简单。 -**注意:CentOS 8 已于 2021 年 12 月 31 日停止维护 (EOL)。对于新部署,推荐使用 CentOS Stream,或 Rocky Linux、AlmaLinux 等替代发行版。** +**注意:CentOS 8 已于 2021 年 12 月 31 日停止维护 (EOL),CentOS 7 已于 2024 年 6 月 30 日停止维护。对于新部署,推荐使用 Rocky Linux、AlmaLinux 或 CentOS Stream 等替代发行版。** 使用 `docker run` 直接运行 `CentOS 7` 镜像,并登录 `bash`。