60 Commits
Author SHA1 Message Date
yeasy ac5ec03ab5 fix(安全,版本): seccomp 示例是安全降级,另修三处凭据/暴露面与九处版本过时
安全(四条,前三条都是书自己打自己):

- 18.5 的自定义 seccomp 示例用 `"defaultAction": "SCMP_ACT_ALLOW"` 写了一个
  blocklist。但 `--security-opt seccomp=<file>` 是**整体替换**默认 profile
  而非叠加(官方 seccomp 文档:容器"uses the default profile unless you
  override it"),而默认 profile 恰恰是 deny-by-default 的 allowlist——本节
  第 11 行自己就这么写的。净效果是:挡住了 chmod,却把默认拦下的那 ~44 个
  高危调用(unshare / keyctl / add_key / bpf / perf_event_open / init_module
  / reboot 等)全部放行,**比不加这个参数更危险**,而读者会以为自己加固了。
  改为从官方 default.json 派生,并在示例前置醒目警告。
- 7.6 把 `docker run -e DB_PASSWORD=xxx` 标成「 正确」。它只是把泄漏路径
  从镜像换到了别处:进 shell history、进宿主机进程 argv(同机任何用户 ps
  可见)、并永久固化在 `docker inspect` 的 Config.Env 里。而本书 11.8:102
  明写「不要把数据库密码写入 compose.yaml、.env、**命令行** 或 Git」,
  16.3:251 也要求「避免把真实口令写入命令历史」。改为标注 -e 的泄漏面,
  并给出 --env-file / Compose secrets 的正确做法。
- 6.2 教读者起一个**无认证、无 TLS** 的 registry,且引导把它绑到内网地址、
  开 insecure-registries,全节零安全提示。同网段任意主机可匿名 push,即
  镜像投毒。而 18.3:17 用最强语气写着「绝不能在没有任何安全控制的情况下
  强行开启」。示例改为绑 127.0.0.1,并在两处补上风险说明与指向 6.3 的出口。
- 18.6 的 CI 示例里,Trivy 那条注释写着「务必使用不可变的 commit SHA 引用,
  而非可变标签」(引的是 2026-03-19 Trivy Actions 76 个 tag 被劫持事件),
  可同一 workflow 里另外九条 uses 全是可变标签,包括持有凭据的
  docker/login-action。补一段说明点破这一点。(本仓库自己的
  .github/workflows/ 确实全部按 SHA 钉死,已实测确认后才写进书里。)

版本时效(对 GitHub releases / endoflife.date / docs.docker.com 逐条核实):

- 5.1 与 6.3 说 `ubuntu:24.04`「是最新 LTS」——最新 LTS 已是 26.04
  (2026-04-23 发布);而本书 3.1 早就列出了 26.04,属书内不一致。更糟的是
  5.1 建议可替换为 `ubuntu:20.04`,而 3.1:33 正警告 20.04 已不在支持列表。
- 3.1 的支持列表里的 Ubuntu 25.10 已被 Docker 官方安装文档移除(该版本本身
  也已于 2026-07-01 EOL),删去。
- 4.6 拿 `alpine:3.20` 当"锁定版本以确保可重现性"的范例,而 3.20 已于
  2026-04 EOL;改为 3.24。
- 3.2 的「Debian Bullseye 11 将于 2026 年 8 月底结束长期支持」时态已过期。
- kind v0.31.0 → v0.33.0(落后两个小版本);etcd v3.5.29 → v3.5.33。
- 10_buildx/README 推荐「Docker v28 及以上」,而紧接着的段落就在用
  「自 Docker Engine 29 起」立论;改为 v29。
2026-09-04 14:53:09 -07:00
yeasy a780127d48 fix(用词): 「其它」统一为「其他」(34 处 / 25 文件)
《现代汉语词典》与《中文技术文档写作风格指南》都以「其他」为规范词形;
本书基线是 90 处「其他」比 35 处「其它」,是集群里遗留最多的一本
(其余各书 0~4 处,blockchain_guide 已于 2026-08-05 统一过 47 处)。

其中 6 处在标题和目录上——`4.6 其它制作镜像的方式`、`第十七章 容器其它生态`、
`18.5 其它安全特性`——标题与 SUMMARY 条目**同批改写以保持一致**:
改动后 196 条目录名与各文件标题仍是 0 处不一致。

**`CHANGELOG.md` 里那一处刻意不动**:它是历史发布记录,改它等于改历史。

改动前后逐字符对称差:只有 34 个「它」变成「他」,无其他字符变化。
`check_project_rules` 202/202、`check_emphasis` 202/202、37 tests OK。
2026-08-24 13:18:05 -07:00
yeasy ef2625531d style: 含中文的括号统一为全角(336 处 / 110 文件)
全书此前是真·五五开:含中文的括号 336 处半角 : 336 处全角,而且**在同一文件
内混用**——`18_security/18.1_kernel_ns.md` 第 11/17/20 行写 `(如 runC)`,
第 31 行写 `(用户命名空间映射)`。这不是体例问题,是它自己跟自己不一致。

集群里其余 13 本都一边倒(llm_internals 5 : 1049、oc_guide 2 : 713、
forward_deployed_engineering_guide 0 : 108),blockchain_guide 已在 2026-08-05
按同一方向统一过 97 处,故取全角,而非另立新规。全角括号前后不留空格,
原先 `概念 (镜像、容器、仓库) 和` 两侧的空格一并收掉。

**纯拉丁内容的半角括号一个没动**——`新建一个层 (Layer)`、`项目 (project)`
保持原样:改动前后「半角且内容纯拉丁」的数量都是 **1163**,而「半角且含中文」
从 **336 变成 0**。

其余验证:改动前后各自抹掉全部空白与圆括号后**逐字节相同**(两侧均 19559 字符);
左右括号总数改动前后都是 399 : 399,证明没有吞括号也没有配错对。
`check_project_rules` 202/202、`check_emphasis` 202/202、37 tests OK、
根 `format_checker` 与 `validate_codeblocks` 干净、`git diff --check` 干净。
2026-08-24 13:13:23 -07:00
yeasy 6a5c6631df fix(links): 11 条外链的落点已改名,逐条改到当前规范地址
上一轮深审只查了「有没有死链」,这批全是 200 但被重定向到别处的:目标页仍在,
路径/域名却换了。逐条 curl 追 final URL 后对齐:

- docs.docker.com 的旧 `engine/reference/commandline/` 命令参考已整体搬到
  `reference/cli/docker/`(resources、learning_roadmap、10.2 三处);
  `get-docker/` 搬到 `get-started/get-docker/`。
- `config/labels-custom-metadata/` 搬到 `engine/manage-resources/labels/`。
  best_practices 那句里两个不同的链接文字原本指向同一个 URL,现按新页的两个
  小节分开:Label keys and values / Manage labels on objects(浏览器实读该页
  DOM,两个 id 都在)。
- Fedora 官网域名由 getfedora.org 改为 fedoraproject.org(3.3、20.4 两处)。
- kubernetes.io 的中文站点是 `/zh-cn/`,`/zh/` 是旧前缀。
- Azure 的产品页由 `/services/` 改到 `/products/`。
- 阿里云容器服务改名 ACK:`/product/kubernetes` → `/product/ack`;
  文档站 `help.aliyun.com/product/85222.html` → `help.aliyun.com/zh/ack/`。
- Sonatype 下载页由 `/product/repository-oss-download` 改到
  `/products/sonatype-nexus-oss-download`。
2026-08-22 23:25:25 -07:00
yeasy eb939f69e5 fix(format): unstick bold markers that CJK punctuation kept from rendering
CommonMark only treats a run of asterisks as an emphasis delimiter when it is
left/right-flanking. CJK punctuation counts as Unicode punctuation, so a closer
like `**数据(配比)**相互交织` is preceded by punctuation and followed by a
letter — it cannot close, and the page shows literal asterisks instead of bold.

Inserts the single space that book-rules 1.1 already asks for, on whichever
side was failing: 2 places across 2 file(s). No wording changed —
every diff here is whitespace-only. Verified against pandoc's gfm reader:
each span now renders as its own <strong>.
2026-07-23 17:04:37 -07:00
yeasy 8eabe30dc2 fix(content): correct verified technical facts across cgroups, namespaces, etcd and k8s sections
- 12.3: daemon.json has no top-level cgroup-driver key; use exec-opts
  native.cgroupdriver (values cgroupfs/systemd) per official dockerd reference
- 12.2: USER namespace is not enabled by default; requires userns-remap
  (aligns with 18.1)
- 14.1: cgroup v1 deprecation and kubelet default-fail happen in v1.35, not
  v1.36 (per kubernetes.io cgroups doc)
- 15_etcd: maintenance window updated after etcd v3.7.0 release (2026-07-08)
  to 3.6/3.7
- 3.9.6: fix dangling sentence order in registry migration note
- tools: add 'from __future__ import annotations' so PEP 604 annotations run
  on Python 3.9 (fixes npm test)
2026-07-10 06:13:27 -07:00
yeasy 9fdffa9d91 fix(content): harden Docker practice guide 2026-06-16 21:23:21 -07:00
yeasy f4e684afeb docs: update Fedora install support list 2026-06-16 19:32:29 -07:00
yeasy f09e800020 fix(content): harden copy-paste safety examples 2026-05-27 18:17:24 -07:00
yeasy 8b9e4518c8 docs(content): add Mac alternatives, K8s transition guide, CI/CD registry push example
- Add OrbStack/Colima comparison table to Mac install chapter (3.7.4)
- Add Docker→K8s concept mapping paragraph to Ch13 intro
- Add KubeKey/RKE2 deployment tool notes to Ch14
- Add production image checklist to Dockerfile chapter summary
- Add build-and-push-to-registry workflow example to GitHub Actions section
- Expand Ch18 security summary with dimension table
2026-05-21 21:33:58 -07:00
yeasy 2e625a3cdf fix(content): harden install and security guidance 2026-05-21 01:23:44 -07:00
yeasy e2742313f2 Fix typo in Fedora install guide 2026-05-08 21:20:03 +00:00
Baohua Yang aa204fb454 chore: lint cleanup and version corrections
- Accept benign linter changes (version notes, explicit tags, formatting)
- Fix incorrect version downgrades introduced by linter:
  - golang:1.22→1.26 (restored)
  - rust:1.82→1.95 (restored)
- 23 files updated
2026-04-25 15:58:27 +00:00
yeasy 515ba9f64a Add blank lines before lists per CommonMark 2026-04-25 15:13:27 +00:00
yeasy 839a63f5af Update versions and fix formatting issues 2026-04-25 15:10:43 +00:00
yeasy 8093b198ce Update node-exporter to v1.11.1, fcct to butane 2026-04-25 14:58:40 +00:00
yeasy 77a537df54 Add blank lines before lists per CommonMark 2026-04-25 14:57:09 +00:00
yeasy 4b44d64cd8 Fix straight quotes to curly quotes in mirror doc 2026-04-24 13:24:52 +00:00
yeasy 49a85c802e Fix Ubuntu codenames and containerd LTS description 2026-04-24 03:16:05 +00:00
yeasy ac92e6c536 Fix Debian dates and FAQ template syntax 2026-04-22 08:43:48 -07:00
yeasy 1fc64ab875 Refresh install guidance
# Conflicts:
#	03_install/3.1_ubuntu.md
#	03_install/3.2_debian.md
#	03_install/3.3_fedora.md
#	03_install/3.9_mirror.md
2026-04-22 08:24:38 -07:00
yeasy c9c72618c3 Refresh k8s docker versions and references 2026-04-21 20:57:33 -07:00
yeasy 077e55f494 Update software versions and fix security refs 2026-04-18 19:04:14 -07:00
yeasy 6fcb74bccc Add Ubuntu 20.04 EOL exact date 2026-04-17 21:19:32 -07:00
yeasy 6b2ebd12ac Fix Chinese curly quotes in prose text 2026-04-14 20:29:35 -07:00
yeasy e85ca7a11e Fix typo in offline install image alt text 2026-04-05 12:59:09 -07:00
yeasy 66905627b8 Remove time annotation in install docs 2026-04-05 12:58:42 -07:00
yeasy 50fe8ebbbb Replace defunct AtomHub mirror with docker.1ms.run 2026-04-05 08:16:08 -07:00
yeasy 4937192bf1 Fix header hierarchy levels 2026-03-31 20:25:52 -07:00
yeasy 3bad07c41a 更新Docker安装、镜像、Dockerfile和Compose等文档内容 2026-03-29 11:40:34 -07:00
yeasy 85f76aa6d9 Fix guide issues 2026-03-28 18:24:46 -07:00
yeasy 63ce0dc3f5 Fix trailing whitespace 2026-03-27 22:20:39 -07:00
yeasy 76c2ae50fe Add blank lines around headers 2026-03-24 09:27:04 -07:00
yeasy 2f7985225a Fix NUL bytes in mirror registry link 2026-03-24 09:26:59 -07:00
yeasy 44b1307277 Remove blank lines after code block markers 2026-03-21 22:36:09 -07:00
yeasy 370949f226 Add blank lines before headers 2026-03-21 12:57:51 -07:00
yeasy c02a8a41cd Update container runtime guidance 2026-03-16 20:49:00 -07:00
yeasy b9c63a5133 Polish Docker workflow formatting 2026-03-16 00:32:49 -07:00
yeasy 21ad5124ac Fix install script variables, comment style, BuildKit syntax and placeholders 2026-03-13 22:55:03 -07:00
yeasy 0ad3c7bea4 Fix Unicode punctuation, update model versions and correct content issues 2026-03-13 19:46:55 -07:00
yeasy a16e0879c0 Improve READMEs and add contribution prompts 2026-03-09 20:04:21 -07:00
baohua 20a69d1662 Fix typography 2026-03-09 20:04:13 -07:00
Baohua Yang 6d000a8629 Update and fix format 2026-03-02 21:54:37 -08:00
Baohua Yang 9f67b560d9 Add security note 2026-02-28 14:28:38 -08:00
Baohua Yang 44c580c412 Reduce image size 2026-02-27 19:23:28 -08:00
Baohua Yang 5f32350c12 Add more content and fix format 2026-02-25 21:06:21 -08:00
Baohua Yang 5e8d7252be Simplify words and fix format issues 2026-02-24 22:01:02 -08:00
Baohua Yang 347c38e8bc Fix naming of the chapter dir 2026-02-22 12:42:15 -08:00
Baohua Yang 114def0634 style(docs): standardize heading formats and numbering
- Enforce Level 1-3 structural numbering based on SUMMARY.md hierarchy
- Remove structural numbering from Level 4+ headings
- Eliminate single child headings by converting to bold text
- Auto-inject summary text for headings with multiple children missing intro text
- Exclude Appendix chapters from structural numbering
- Avoid modifying code block contents
- Add script to detect non-standard English usage in headers
2026-02-21 22:40:33 -08:00
Baohua Yang b9c9efe02b Fix space with bold markdown 2026-02-21 17:39:37 -08:00