Skip to content

Commit 241f9ad

Browse files
authored
Merge branch 'master' into dependabot/github_actions/dependencies-e5ddc431e3
2 parents 01758af + f315ef9 commit 241f9ad

123 files changed

Lines changed: 592 additions & 372 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎01_introduction/1.1_quickstart.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Nginx 是一个轻量级、使用广泛的 Web 服务器,学习完这个例子
2626
2727
### 1.1.2 编写 Dockerfile
2828
29-
在同级目录下创建一个名为 `Dockerfile` (无后缀) 的文件:
29+
在同级目录下创建一个名为 `Dockerfile`(无后缀)的文件:
3030
3131
```dockerfile
3232
FROM nginx:alpine
@@ -42,7 +42,7 @@ $ docker build -t my-hello-world .
4242
```
4343

4444
* `docker build`:构建命令
45-
* `-t my-hello-world`:给镜像起个名字 (标签)
45+
* `-t my-hello-world`:给镜像起个名字(标签)
4646
* `.`:指定上下文路径为当前目录
4747

4848
### 1.1.4 运行容器

‎01_introduction/1.2_what.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,15 +67,15 @@ flowchart LR
6767
| **隔离级别** | 进程级隔离 | 完全隔离 |
6868
| **单机数量** | 可运行上千个 | 通常几十个 |
6969

70-
> 笔者经常用这个类比来解释:虚拟机像是每个应用都住在一栋独立的房子里 (有自己的地基、水电系统),而容器像是大家住在同一栋公寓楼里的不同房间 (共享地基和水电系统,但各自独立)。
70+
> 笔者经常用这个类比来解释:虚拟机像是每个应用都住在一栋独立的房子里(有自己的地基、水电系统),而容器像是大家住在同一栋公寓楼里的不同房间(共享地基和水电系统,但各自独立)。
7171
7272
### 1.2.4 Docker 的技术基础
7373

7474
Docker 使用 [Go 语言](https://golang.google.cn/)开发,基于 Linux 内核的以下技术:
7575

76-
- **[Namespace](https://en.wikipedia.org/wiki/Linux_namespaces)**:实现资源隔离 (进程、网络、文件系统等)
77-
- **[Cgroups](https://zh.wikipedia.org/wiki/Cgroups)**:实现资源限制 (CPU、内存、I/O 等)
78-
- **[Union FS](https://en.wikipedia.org/wiki/Union_mount)**:实现分层存储 (如 OverlayFS)
76+
- **[Namespace](https://en.wikipedia.org/wiki/Linux_namespaces)**:实现资源隔离(进程、网络、文件系统等)
77+
- **[Cgroups](https://zh.wikipedia.org/wiki/Cgroups)**:实现资源限制(CPU、内存、I/O 等)
78+
- **[Union FS](https://en.wikipedia.org/wiki/Union_mount)**:实现分层存储(如 OverlayFS)
7979

8080
> 如果你对这些底层技术感兴趣,可以阅读本书的[底层实现](../12_implementation/README.md)章节。
8181
@@ -96,7 +96,7 @@ flowchart LR
9696

9797
- **LXC** (2013):Docker 最初基于 Linux Containers
9898
- **libcontainer** (2014,Docker 0.9):Docker 自研的容器运行时
99-
- **runC** (2015,Docker 1.11 整合):捐献给 OCI 的标准容器运行时
99+
- **runC**(2015,Docker 1.11 整合):捐献给 OCI 的标准容器运行时
100100
- **containerd**:高级容器运行时,管理容器生命周期
101101

102102
![Docker 架构](../_images/docker-on-linux.png)

‎01_introduction/1.3_why.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ $ docker compose up
8282

8383
#### 2. 秒级启动
8484

85-
传统虚拟机启动需要几分钟 (引导操作系统),而 Docker 容器启动通常只需要 **几秒甚至几百毫秒**。
85+
传统虚拟机启动需要几分钟(引导操作系统),而 Docker 容器启动通常只需要 **几秒甚至几百毫秒**。
8686

8787
笔者实测数据:
8888

@@ -153,7 +153,7 @@ flowchart LR
153153
Docker 可以在几乎任何平台上运行:
154154

155155
- ✅ 本地开发机 (macOS、Windows、Linux)
156-
- ✅ 公有云 (AWS、Azure、GCP、阿里云、腾讯云)
156+
- ✅ 公有云(AWS、Azure、GCP、阿里云、腾讯云)
157157
- ✅ 私有云和自建数据中心
158158
- ✅ 边缘设备和 IoT
159159

‎01_introduction/README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
* 通过一个简单的 Web 应用例子,带你快速体验 Docker 的核心流程:构建镜像、运行容器。
1111

1212
* [什么是 Docker](1.2_what.md)
13-
* 介绍 Docker 的起源、发展历程以及其背后的核心技术 (Cgroups,Namespaces,UnionFS,以及 `containerd` 引擎的演进)。
13+
* 介绍 Docker 的起源、发展历程以及其背后的核心技术(Cgroups,Namespaces,UnionFS,以及 `containerd` 引擎的演进)。
1414
* 了解 Docker 是如何改变软件交付方式的。
1515

1616
* [为什么要用 Docker](1.3_why.md)

‎02_basic_concept/2.1_image.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ flowchart TD
2828
```
2929
对于 Linux 而言,内核启动后会挂载 `root` 文件系统来提供用户空间支持。**Docker 镜像** 本质上就是一个 `root` 文件系统。
3030

31-
例如,官方镜像 `ubuntu:24.04` 包含了一套完整的 Ubuntu 24.04 最小系统的 root 文件系统——但 **不包含 Linux 内核** (因为容器共享宿主机的内核)。
31+
例如,官方镜像 `ubuntu:24.04` 包含了一套完整的 Ubuntu 24.04 最小系统的 root 文件系统——但 **不包含 Linux 内核**(因为容器共享宿主机的内核)。
3232

3333
### 2.1.3 镜像包含什么?
3434

@@ -210,5 +210,5 @@ Docker 镜像可以通过以下方式获取:
210210
|------|------|------|
211211
| **从 Registry 拉取** | 最常用的方式 | `docker pull nginx` |
212212
| **从 Dockerfile 构建** | 自定义镜像 | `docker build -t myapp .` |
213-
| **从容器提交** | 保存容器状态 (不推荐)| `docker commit` |
213+
| **从容器提交** | 保存容器状态(不推荐)| `docker commit` |
214214
| **从文件导入** | 离线传输 | `docker load < image.tar` |

‎02_basic_concept/2.2_container.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ flowchart TD
8181

8282
#### 镜像层 + 容器层
8383

84-
当容器运行时,Docker 会在镜像的只读层之上创建一个 **可写层** (容器存储层):
84+
当容器运行时,Docker 会在镜像的只读层之上创建一个 **可写层**(容器存储层):
8585

8686
```mermaid
8787
flowchart TD

‎02_basic_concept/2.3_repository.md‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ flowchart TB
4949
| 概念 | 说明 | 示例 |
5050
|------|------|------|
5151
| **Registry** | 存储镜像的服务 | Docker Hub、ghcr.io |
52-
| **Repository (仓库)** | 同一软件的镜像集合 | `nginx`、`mysql`、`mycompany/myapp` |
53-
| **Tag (标签)** | 仓库内的版本标识 | `latest`、`1.28`、`alpine` |
52+
| **Repository(仓库)** | 同一软件的镜像集合 | `nginx`、`mysql`、`mycompany/myapp` |
53+
| **Tag(标签)** | 仓库内的版本标识 | `latest`、`1.28`、`alpine` |
5454
5555
#### 镜像的完整名称
5656
@@ -97,7 +97,7 @@ us-west1-docker.pkg.dev/my-project/my-repo/myapp:v1.0
9797
9898
**特点**:
9999
100-
- 拥有大量[官方镜像](https://hub.docker.com/search?q=&type=image&image_filter=official) (nginx、mysql、redis 等)
100+
- 拥有大量[官方镜像](https://hub.docker.com/search?q=&type=image&image_filter=official)(nginx、mysql、redis 等)
101101
- 免费账户可以创建公开仓库
102102
- 免费个人账户可创建 1 个私有仓库;更高套餐支持更多私有仓库
103103
@@ -172,8 +172,8 @@ $ docker pull localhost:5000/myapp:v1.0
172172
173173
| 方案 | 特点 |
174174
|------|------|
175-
| **[Harbor](https://goharbor.io/)** | CNCF 项目,功能全面 (用户管理、漏洞扫描、镜像签名)|
176-
| **[Nexus Repository](../06_repository/6.4_nexus3_registry.md)** | 支持多种制品类型 (Docker、Maven、npm 等)|
175+
| **[Harbor](https://goharbor.io/)** | CNCF 项目,功能全面(用户管理、漏洞扫描、镜像签名)|
176+
| **[Nexus Repository](../06_repository/6.4_nexus3_registry.md)** | 支持多种制品类型(Docker、Maven、npm 等)|
177177
| **云厂商服务** | 阿里云 ACR、腾讯云 TCR、AWS ECR 等 |
178178
179179
笔者建议:
@@ -238,7 +238,7 @@ $ docker logout
238238
239239
#### 使用官方镜像
240240
241-
Docker Hub 的[官方镜像](https://hub.docker.com/search?q=&type=image&image_filter=official) (标有 “Official Image” 标识) 经过 Docker 团队审核,相对更安全。示例如下:
241+
Docker Hub 的[官方镜像](https://hub.docker.com/search?q=&type=image&image_filter=official)(标有 “Official Image” 标识)经过 Docker 团队审核,相对更安全。示例如下:
242242
243243
```bash
244244
## 官方镜像示例

‎02_basic_concept/README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
55
**Docker** 包括三个基本概念:
66

7-
* **镜像** (`Image`):Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数 (如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
7+
* **镜像** (`Image`):Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
88
* **容器** (`Container`):镜像 (`Image`) 和容器 (`Container`) 的关系,就像是面向对象程序设计中的 `类` 和 `实例` 一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
9-
* **仓库** (`Repository`):镜像构建完成后,可以很容易的在当前宿主机上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry 就是这样的服务。
9+
* **仓库** (`Repository`):镜像构建完成后,可以很容易的在当前宿主机上运行,但是,如果需要在其他服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry 就是这样的服务。
1010

1111
理解了这三个概念,就理解了 **Docker** 的整个生命周期。
1212

‎03_install/3.2_debian.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ Debian 以其稳定性著称,是 Docker 的理想宿主系统。本节将指
1717
Docker 支持以下版本的 [Debian](https://www.debian.org/intro/about) 操作系统(具体以官方 [安装文档](https://docs.docker.com/engine/install/debian/) 为准):
1818

1919
* Debian Trixie 13 (stable)
20-
* Debian Bookworm 12 (oldstable,全面支持至 2026 年 6 月 10 日,LTS 至 2028 年 6 月 30 日)
21-
* Debian Bullseye 11 (oldoldstable,LTS 支持至 2026 年 8 月 31 日)
20+
* Debian Bookworm 12(oldstable,全面支持至 2026 年 6 月 10 日,LTS 至 2028 年 6 月 30 日)
21+
* Debian Bullseye 11(oldoldstable,LTS 支持至 2026 年 8 月 31 日)
2222

2323
> **注意**:Debian Bullseye 11 将于 2026 年 8 月底结束长期支持。建议新部署使用 Bookworm 12 或 Trixie 13。
2424

‎03_install/3.3_fedora.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Fedora 的快速发布周期(每 6 个月发布新版本)决定了它的用
1414

1515
#### 系统要求
1616

17-
根据 Docker 官方安装文档,当前受支持的 [Fedora](https://getfedora.org/) 版本包括(具体以官方 [安装文档](https://docs.docker.com/engine/install/fedora/) 为准):
17+
根据 Docker 官方安装文档,当前受支持的 [Fedora](https://fedoraproject.org/) 版本包括(具体以官方 [安装文档](https://docs.docker.com/engine/install/fedora/) 为准):
1818

1919
* Fedora 44
2020
* Fedora 43

0 commit comments

Comments
 (0)