fix(content): correct verified internal inconsistencies across 7 sections

均为书内自证的矛盾,无需外部来源:

- 19.3: golang:1.26-alpine 标注为 ~1GB,但 21.7 将 ~900MB 归给非 alpine 的
  golang:1.26,且 7.17 实测 alpine 版镜像为 295MB——alpine 变体不可能大于其
  非 alpine 版本。改为与 21.7 一致的「golang:1.26 基础镜像的 ~900MB」。
- 20_cases_os: 正文称通用镜像 100-300 MB,紧邻的表格却列 Ubuntu ~80 MB
  (与 4.2 的 ubuntu 24.04 78MB 一致)。正文改为 80-300 MB。
- 4.2: 「查找大于 500MB 的镜像」的 ^[0-9]+GB 不匹配小数,会漏掉 docker 实际
  输出的全部 x.yGB(本书自己的示例即为 2.5GB)。补充可选小数部分。
- 6.2: docker image ls 示例输出把 tag 混入 REPOSITORY 列
  (127.0.0.1:5000/ubuntu:latest + TAG latest),与同块 ubuntu/latest 行及
  本节自述的 tag 格式不符。
- 5.3: 生命周期状态图缺 Stopped --> Running,而 5.3.6 正是讲 docker start
  启动已停止的容器;原图中停止的容器只能被删除。
- 9.5: 端口映射图节点标签 "容器 (Class B: 80)" 语义错乱(Class B 是 IP 地址
  分类,与端口无关),改为「容器 (端口: 80)」。
- appendix/faq/errors.md: 标题「常见错误速查表」与 SUMMARY.md 及 faq/README
  两处链接文字「常见错误处理」不一致(全书 196 篇中唯一一处标题漂移)。
This commit is contained in:
yeasy
2026-07-16 23:20:25 -07:00
parent 7340cc16a8
commit 51698c89c5
7 changed files with 8 additions and 7 deletions
+1 -1
View File
@@ -252,7 +252,7 @@ $ docker images --format "{{.Size}}\t{{.Repository}}:{{.Tag}}" | sort -h
## 查找大于 500MB 的镜像
$ docker images --format "{{.Size}}\t{{.Repository}}:{{.Tag}}" | grep -E "^[0-9]+GB|^[5-9][0-9]{2}MB"
$ docker images --format "{{.Size}}\t{{.Repository}}:{{.Tag}}" | grep -E "^[0-9]+(\.[0-9]+)?GB|^[5-9][0-9]{2}MB"
## 导出镜像列表
+1
View File
@@ -153,6 +153,7 @@ stateDiagram-v2
[*] --> Created : docker create
Created --> Running : docker start
Running --> Stopped : docker stop
Stopped --> Running : docker start
Running --> Paused : docker pause
Paused --> Running : docker unpause
+2 -2
View File
@@ -48,7 +48,7 @@ $ docker tag ubuntu:latest 127.0.0.1:5000/ubuntu:latest
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest ba5877dc9bec 6 weeks ago 192.7 MB
127.0.0.1:5000/ubuntu:latest latest ba5877dc9bec 6 weeks ago 192.7 MB
127.0.0.1:5000/ubuntu latest ba5877dc9bec 6 weeks ago 192.7 MB
```
使用 `docker push` 上传标记的镜像
@@ -87,7 +87,7 @@ ebc34468f71d: Download complete
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
127.0.0.1:5000/ubuntu:latest latest ba5877dc9bec 6 weeks ago 192.7 MB
127.0.0.1:5000/ubuntu latest ba5877dc9bec 6 weeks ago 192.7 MB
```
### 6.2.3 配置非 https 仓库地址
+1 -1
View File
@@ -16,7 +16,7 @@
flowchart TD
User["外部用户 (Browser)"] --> Host["宿主机 (localhost:8080)"]
Host --> Proxy["Docker Proxy<br/>端口映射 (8080 -> 80)"]
Proxy --> Container["容器 (Class B: 80)"]
Proxy --> Container["容器 (端口: 80)"]
```
---
@@ -457,7 +457,7 @@ COPY --from=builder /build/app /app
EXPOSE 8080
ENTRYPOINT ["/app"]
# 最终镜像大小通常 < 15MB相比 golang:1.26-alpine ~1GB
# 最终镜像大小通常 < 15MB相比 golang:1.26 基础镜像 ~900MB
```
**Node.js 应用的多阶段构建**
+1 -1
View File
@@ -17,7 +17,7 @@
在容器化应用开发中选择合适的基础操作系统镜像直接影响容器的大小启动速度安全性和运行性能不同的镜像提供了不同的功能集和资源占用
- **轻量级镜像** (BusyboxAlpine) - 镜像大小仅几 MB启动快速适合微服务IoT 设备和对资源敏感的环境Busybox 是最小的选择集成了常见的 Unix 工具Alpine 则提供了完整的包管理器方便安装额外工具
- **通用镜像** (DebianUbuntu) - 提供完整的 Linux 功能和丰富的软件生态镜像大小通常在 100-300 MB 之间适合需要灵活安装各种依赖和工具的应用场景
- **通用镜像** (DebianUbuntu) - 提供完整的 Linux 功能和丰富的软件生态镜像大小通常在 80-300 MB 之间适合需要灵活安装各种依赖和工具的应用场景
- **企业级镜像** (CentOSFedora) - 基于 Red Hat 生态广泛应用于企业环境和复杂系统应用提供了 yum 包管理器和强大的系统管理工具
选择镜像的关键原则是 小而够用选择满足应用需求的最小镜像这样可以减少安全漏洞表面积加快镜像拉取和推送速度降低存储成本同时也使容器更便于分发和部署
+1 -1
View File
@@ -1,4 +1,4 @@
## 常见错误速查表
## 常见错误处理
| 错误信息 / 现象 | 可能原因 | 解决方案 |
| :--- | :--- | :--- |