Fix format issue

This commit is contained in:
Baohua Yang
2026-02-21 10:19:28 -08:00
parent 063c3f1381
commit 47cfc173a6
45 changed files with 596 additions and 604 deletions

View File

@@ -14,27 +14,32 @@ Docker 做的事情类似:无论你的应用是用 Python、Java、Node.js 还
笔者认为Docker 解决的是软件开发中最古老的问题之一**"在我机器上明明能跑啊!"**
```
开发环境 生产环境
┌─────────────────┐ ┌─────────────────┐
Python 3.14 │ ≠ │ Python 3.11 │
Ubuntu 24.04 │ │ Ubuntu 22.04
│ 特定版本的库 │ │ 不同版本的库 │
└─────────────────┘ └─────────────────┘
↓ ↓
运行正常 运行失败!
```mermaid
flowchart LR
subgraph Dev ["开发环境"]
direction TB
A["Python 3.14<br/>Ubuntu 24.04<br/>特定版本的库"] --> B["运行正常"]
end
subgraph Prod ["生产环境"]
direction TB
C["Python 3.11<br/>Ubuntu 22.04<br/>不同版本的库"] --> D["运行失败!"]
end
A -. "≠" .-> C
```
有了 Docker
```
开发环境 生产环境
┌─────────────────┐ ┌─────────────────┐
Docker 镜像 │ = │ 同一个镜像 │
│ (包含所有依赖) │ │ (完全一致) │
└─────────────────┘ └─────────────────┘
↓ ↓
运行正常 运行正常!
```mermaid
flowchart LR
subgraph Dev ["开发环境"]
direction TB
A["Docker 镜像<br/>(包含所有依赖)"] --> B["运行正常"]
end
subgraph Prod ["生产环境"]
direction TB
C["同一个镜像<br/>(完全一致)"] --> D["运行正常!"]
end
A === "=" === C
```
### Docker vs 虚拟机
@@ -79,13 +84,15 @@ Docker 使用 [Go 语言](https://golang.google.cn/) 开发,基于 Linux 内
Docker 的底层实现经历了多次演进
```
2013 2014 2015 现在
│ │ │
▼ ▼ ▼
LXC ──→ libcontainer ──→ runC ──→ containerd + runC
└── OCI 标准化
```mermaid
flowchart LR
subgraph Timeline
direction LR
LXC["LXC<br/>(2013)"] --> libcontainer["libcontainer<br/>(2014)"]
libcontainer --> runC["runC<br/>(2015)"]
runC --> containerd["containerd + runC<br/>(现在)"]
runC --> OCI["OCI<br/>标准化"]
end
```
- **LXC**2013Docker 最初基于 Linux Containers