Polish Docker workflow formatting

This commit is contained in:
yeasy
2026-03-16 00:32:49 -07:00
parent 5840c160f1
commit b5830eb690
44 changed files with 107 additions and 121 deletions

View File

@@ -8,17 +8,10 @@ Docker 采用了 **C/S (客户端/服务端)** 架构。Client 向 Daemon 发送
```mermaid
graph LR
Client[客户端 (Docker CLI)] -- docker run --> Dockerd
Client -- docker pull --> Dockerd
subgraph "Docker Host"
Dockerd(dockerd<br>守护进程)
Containers(Containers<br>容器)
Images(Images<br>镜像)
Dockerd -- 管理 --> Containers
Dockerd -- 管理 --> Images
end
C1["客户端"] -->|docker run| D["dockerd\n守护进程"]
C1 -->|docker pull| D
D -->|管理| C2["Containers\n容器"]
D -->|管理| C3["Images\n镜像"]
```
---
@@ -27,11 +20,11 @@ graph LR
Docker 的内部架构如同洋葱一样分层每一层专注解决特定问题
#### 1. Docker CLI (客户端)
#### 1. Docker CLI客户端
用户与 Docker 交互的主要方式它将用户命令 ( `docker run`) 转换为 API 请求发送给 dockerd
#### 2. Dockerd (守护进程)
#### 2. Dockerd守护进程
Docker 的大脑
@@ -39,7 +32,7 @@ Docker 的大脑。
- 管理 Docker 对象 (镜像容器网络)
- 编排下层组件完成工作
#### 3. Containerd (高级运行时)
#### 3. Containerd高级运行时
行业标准的容器运行时 (CNCF 毕业项目)
@@ -48,7 +41,7 @@ Docker 的大脑。
- **不包含** 复杂的与容器无关的功能 (如构建API)
- Kubernetes 也可以直接使用 containerd (跳过 Docker)
#### 4. Runc (低级运行时)
#### 4. Runc低级运行时
用于创建和运行容器的 CLI 工具
@@ -72,31 +65,24 @@ Docker 的大脑。
```mermaid
flowchart TD
User((用户))
subgraph DockerCLI [Docker CLI]
Cmd[docker run -d nginx]
end
subgraph DockerHost [Docker Host]
Dockerd[Dockerd]
Containerd[Containerd]
subgraph ContainerRuntime [Runtime]
Shim[Containerd-shim]
Runc[Runc]
Container[容器进程 (nginx)]
end
end
User --> Cmd
Cmd -- 1. REST API --> Dockerd
Dockerd -- 2. gRPC --> Containerd
Containerd -- 3. 准备镜像 & Bundle --> Containerd
Containerd -- 4. Fork --> Shim
Shim -- 5. Exec --> Runc
Runc -- 6. Create Namespaces/Cgroups --> Container
Runc -.-> |7. Exit| Runc
Shim -.-> |8. Monitor IO/Exit| Container
U["用户"]
K["docker run -d nginx"]
D["Dockerd"]
C["Containerd"]
B["OCI Bundle"]
S["Containerd-shim"]
R["Runc"]
P["容器进程\nnginx"]
E["退出"]
U -->|1. REST API| D
K -->|2. gRPC| C
C -->|3. 准备镜像和 Bundle| B
C -->|4. 启动 Shim| S
S -->|5. 执行| R
R -->|6. 创建 Namespaces 和 Cgroups| P
R -->|7. 进程退出| E
S -->|8. 监控 IO 和退出| P
```
1. **CLI** 发送请求给 **Dockerd**

View File

@@ -60,7 +60,7 @@ COPY . . # 层4应用代码
---
### 12.4.3 Copy-on-Write (写时复制)
### 12.4.3 Copy-on-Write写时复制
当容器修改只读层中的文件时