fix(content): harden Docker practice guide

This commit is contained in:
yeasy
2026-06-16 21:23:21 -07:00
parent f4e684afeb
commit 9fdffa9d91
67 changed files with 343 additions and 278 deletions
+3 -1
View File
@@ -2,11 +2,13 @@
> **版本说明**本节示例基于 Docker v29.x 编写示例中使用的 `nginx:alpine` 镜像标签为演示用途请查阅 [Docker Hub - nginx](https://hub.docker.com/_/nginx) 确认最新可用版本。
开始前请先完成 [ 3 章安装 Docker](../03_install/README.md)并确认 `docker version` `docker run hello-world` 可以正常执行若你只是先浏览流程可以读完本节后再回到安装章实践
本节将通过一个简单的 Web 应用例子带你快速体验 Docker 的核心流程构建镜像运行容器
### 为什么选择 Nginx + HTML 作为入门例子
在学习 Docker 之前我们先来理解为什么这个例子是最适合初学者Docker 的核心价值在于**一致性交付**无论你在本地云端还是他人的机器上运行容器应用行为都是完全一致这个 Nginx + 静态 HTML 的例子之所以被广泛采用是因为它展现了 Docker 工作流的三个核心阶段
在学习 Docker 之前我们先来理解为什么这个例子适合初学者Docker 的核心价值在于**一致性交付**在相同镜像CPU 架构内核能力配置和外部依赖都满足的前提下应用行为可以保持高度一致这个 Nginx + 静态 HTML 的例子之所以被广泛采用是因为它展现了 Docker 工作流的三个核心阶段
1. **镜像定义Image Layer**通过 Dockerfile 描述如何把应用打包成一个自包含的单元
2. **镜像构建Build**执行 `docker build`Docker 根据 Dockerfile 逐层构建镜像
+2 -2
View File
@@ -4,11 +4,11 @@ Docker 是彻底改变了软件开发和交付方式的革命性技术。本节
### 1.2.1 一句话理解 Docker
> **Docker 是一种轻量级的虚拟化技术它让应用程序及其依赖环境可以被打包成一个标准化的单元任何地方都能一致地运行** 如果用一个生活中的类比**Docker 之于软件就像集装箱之于货物**
> **Docker 是一种轻量级的虚拟化技术它让应用程序及其依赖环境可以被打包成一个标准化的单元满足架构内核能力和外部依赖前提的环境中高度一致地运行** 如果用一个生活中的类比**Docker 之于软件就像集装箱之于货物**
在集装箱发明之前货物的运输是一件麻烦的事情不同的货物需要不同的包装不同的装卸方式换一种运输工具就要重新装卸集装箱的出现改变了这一切无论里面装的是什么集装箱的外形是标准的可以用同样的方式装卸堆放和运输
Docker 做的事情类似无论你的应用是用 PythonJavaNode.js 还是其他语言写的无论它需要什么样的依赖库和环境一旦被打包成 Docker 镜像就可以用同样的方式在任何支持 Docker 的机器上运行
Docker 做的事情类似无论你的应用是用 PythonJavaNode.js 还是其他语言写的无论它需要什么样的依赖库和环境一旦被打包成 Docker 镜像就可以用同样的方式在兼容的 Docker 环境中运行
### 1.2.2 Docker 的核心价值
+3 -3
View File
@@ -63,10 +63,10 @@ flowchart LR
#### 1. 环境一致性
Docker 镜像包含了应用运行所需的 **一切**代码运行时系统工具配置这意味着
Docker 镜像包含了应用运行所需的大部分用户态依赖代码运行时系统工具和默认配置它不包含宿主机内核也不能消除 CPU 架构内核能力外部服务网络卷和运行时配置差异这意味着
- 开发环境和生产环境完全一致
- 不会再有 在我机器上能跑 的问题
- 开发环境和生产环境可以显著减少差异
- 大幅降低 在我机器上能跑 的问题
- 新人入职一条命令就能启动开发环境
```bash