style(docs): standardize heading formats and numbering

- Enforce Level 1-3 structural numbering based on SUMMARY.md hierarchy
- Remove structural numbering from Level 4+ headings
- Eliminate single child headings by converting to bold text
- Auto-inject summary text for headings with multiple children missing intro text
- Exclude Appendix chapters from structural numbering
- Avoid modifying code block contents
- Add script to detect non-standard English usage in headers
This commit is contained in:
Baohua Yang
2026-02-21 22:40:33 -08:00
parent 33af380be1
commit 175aaae48a
136 changed files with 1015 additions and 766 deletions

View File

@@ -2,11 +2,11 @@
Docker 镜像作为容器运行的基石其设计理念和实现机制至关重要本节将深入探讨镜像的本质与操作系统的关系内容构成以及核心的分层存储机制
### 一句话理解镜像
### 2.1.1 一句话理解镜像
> **Docker 镜像是一个只读的模板包含了运行应用所需的一切代码运行时环境变量和配置文件** 如果用一个类比**镜像就像是一张光盘或 ISO 文件**你可以用同一张光盘在不同电脑上安装系统而光盘本身不会被修改同样一个镜像可以创建多个容器而镜像本身保持不变
### 镜像与操作系统的关系
### 2.1.2 镜像与操作系统的关系
我们都知道操作系统分为 **内核** **用户空间**
@@ -29,7 +29,7 @@ flowchart TD
例如官方镜像 `ubuntu:24.04` 包含了一套完整的 Ubuntu 24.04 最小系统的 root 文件系统 **不包含 Linux 内核** (因为容器共享宿主机的内核)
### 镜像包含什么
### 2.1.3 镜像包含什么
Docker 镜像是一个特殊的文件系统包含
@@ -44,7 +44,7 @@ Docker 镜像是一个特殊的文件系统,包含:
- 镜像 **不包含** 动态数据
- 镜像构建后 **内容不会改变**
### 分层存储镜像的核心设计
### 2.1.4 分层存储镜像的核心设计
镜像的分层存储机制是 Docker 最具创新性的特性之一通过 Union FS 技术Docker 能够高效地构建和管理镜像
@@ -156,7 +156,7 @@ a6bd71f48f68 2 weeks ago CMD ["nginx" "-g" "daemon off;"] 0B
...
```
### 镜像的标识
### 2.1.5 镜像的标识
Docker 镜像有多种标识方式
@@ -202,7 +202,7 @@ nginx latest sha256:6db391d1c0cfb30588ba0bf72ea999404f2764184d8b8d10d89e8
> 💡 笔者建议在生产环境使用镜像摘要而非标签因为标签可以被覆盖但摘要是不可变的
### 镜像的来源
### 2.1.6 镜像的来源
Docker 镜像可以通过以下方式获取

View File

@@ -2,7 +2,7 @@
容器是 Docker 技术的核心是应用实际运行的载体本节将从容器的本质与虚拟机的区别存储层机制以及生命周期管理等方面全面解析 Docker 容器
### 一句话理解容器
### 2.2.1 一句话理解容器
> **容器是镜像的运行实例如果把镜像比作程序那么容器就是进程** 用面向对象编程的术语来说**镜像是类 (Class)容器是对象 (Instance)**
@@ -10,7 +10,7 @@
- 每个容器相互独立互不影响
- 容器可以被创建启动停止删除暂停
### 容器的本质
### 2.2.2 容器的本质
> 💡 **笔者认为理解这一点是理解 Docker 的关键****容器的本质是一个特殊的进程**
@@ -29,7 +29,7 @@ flowchart TD
这种隔离是通过 Linux 内核的 **Namespace** 技术实现的
### 容器 vs 虚拟机核心区别
### 2.2.3 容器 vs 虚拟机核心区别
很多初学者会混淆容器和虚拟机笔者用一张图来说明
@@ -72,7 +72,7 @@ flowchart TD
| **性能损耗** | 几乎为零 | 5-20% |
| **内核** | 共享宿主机内核 | 各自独立内核 |
### 容器的存储层
### 2.2.4 容器的存储层
理解容器的存储层机制对于数据的持久化和镜像的优化至关重要本节将介绍容器的可写层以及 Copy-on-Write 机制
@@ -144,7 +144,7 @@ $ docker run -v /host/path:/container/path nginx
这些位置的读写 **会跳过容器存储层**直接写入宿主机性能更好也不会随容器删除而丢失
### 容器的生命周期
### 2.2.5 容器的生命周期
掌握容器的生命周期对于管理和调试 Docker 应用非常重要如图 2-1 所示容器会经历从创建到删除的完整状态流转
@@ -200,7 +200,7 @@ $ docker rm abc123 # 删除已停止的容器
$ docker rm -f abc123 # 强制删除运行中的容器
```
### 容器与进程的关系
### 2.2.6 容器与进程的关系
> **核心概念**容器的生命周期 = 主进程 (PID 1) 的生命周期
@@ -225,7 +225,7 @@ $ docker run nginx
详细解释请参考[后台运行](../05_container/5.2_daemon.md)章节
### 容器的隔离性
### 2.2.7 容器的隔离性
Docker 容器通过以下 Namespace 实现隔离

View File

@@ -2,13 +2,13 @@
Docker Registry 是镜像分发和管理的核心组件本节将介绍 Registry 的基本概念公共和私有服务的选择以及镜像的安全管理
### 一句话理解 Registry
### 2.3.1 一句话理解 Registry
> **Docker Registry 是存储和分发 Docker 镜像的服务类似于代码的 GitHub 或包管理的 npm**
镜像构建完成后可以在当前机器上运行但如果需要在其他服务器上使用这个镜像就需要一个集中的存储和分发服务这就是 Docker Registry
### 核心概念
### 2.3.2 核心概念
要熟练使用 Docker Registry首先需要理清它与仓库 (Repository)标签 (Tag) 之间的关系
@@ -88,7 +88,7 @@ gcr.io/google-containers/pause:3.6
> 💡 **笔者提示**如果不指定 Registry 地址默认使用 Docker Hub如果不指定标签默认使用 `latest`
### 公共 Registry 服务
### 2.3.3 公共 Registry 服务
公共 Registry 服务为开发者提供了便捷的镜像获取途径其中最著名的是 Docker Hub
@@ -126,7 +126,7 @@ $ docker push username/myapp:v1.0
| **阿里云容器镜像服务** | registry.cn-*.aliyuncs.com | 国内访问快 |
| **腾讯云容器镜像服务** | ccr.ccs.tencentyun.com | 国内访问快 |
### 镜像加速器
### 2.3.4 镜像加速器
由于网络原因在国内直接访问 Docker Hub 可能会很慢可以配置 **镜像加速器** (Registry Mirror) 来加速下载配置示例如下
@@ -143,7 +143,7 @@ $ docker push username/myapp:v1.0
> **笔者提醒**镜像加速器的可用性经常变化使用前建议先测试是否可用
### 私有 Registry
### 2.3.5 私有 Registry
出于安全和隐私的考虑企业往往需要搭建自己的私有 Registry以下是几种常见的搭建方案
@@ -182,7 +182,7 @@ $ docker pull localhost:5000/myapp:v1.0
- 中大型团队推荐 Harbor功能完善且开源免费
- 已使用云服务直接用云厂商的 Registry 服务更省心
### 镜像的推送和拉取
### 2.3.6 镜像的推送和拉取
掌握镜像的推送 (Push) 和拉取 (Pull) 是使用 Docker Registry 的基本功
@@ -235,7 +235,7 @@ $ docker push registry.example.com/myteam/myapp:v1.0
$ docker logout
```
### 镜像的安全性
### 2.3.7 镜像的安全性
在使用公共镜像或维护私有镜像时安全性是不容忽视的重要环节

View File

@@ -1,4 +1,4 @@
## 本章小结
## 2.4 本章小结
相关信息如下表
@@ -11,7 +11,7 @@
理解了镜像接下来让我们学习[容器](2.2_container.md)镜像的运行实例
### 延伸阅读
### 2.4.1 延伸阅读
- [获取镜像](../04_image/4.1_pull.md) Registry 下载镜像
- [使用 Dockerfile 定制镜像](../04_image/4.5_build.md)创建自己的镜像
@@ -28,7 +28,7 @@
理解了镜像和容器接下来让我们学习[仓库](2.3_repository.md)存储和分发镜像的服务
### 延伸阅读
### 2.4.2 延伸阅读
- [启动容器](../05_container/5.1_run.md)详细的容器启动选项
- [后台运行](../05_container/5.2_daemon.md)理解容器为什么会 立即退出
@@ -45,7 +45,7 @@
现在你已经了解了 Docker 的三个核心概念[镜像](2.1_image.md)[容器](2.2_container.md)和仓库接下来让我们开始[安装 Docker](../03_install/README.md)动手实践
### 延伸阅读
### 2.4.3 延伸阅读
- [Docker Hub](../06_repository/6.1_dockerhub.md)Docker Hub 的详细使用
- [私有仓库](../06_repository/6.2_registry.md)搭建私有 Registry