Commit Graph
37 Commits
Author SHA1 Message Date
yeasy 141fdc80bc fix(examples): 修正若干无法按原样执行的命令
* appendix/repo/nodejs.md:`docker build -t my-nodejs-app` 缺上下文参数,实际会
  报 "docker buildx build" requires exactly 1 argument;补 `.`。同文件 docker run
  示例里 `# -v "$ ":/usr/src/myapp \` 这一行的注释把自己的续行反斜杠也注掉了,加上
  紧跟的空行,命令在 `--name my-running-script` 处就结束、没有镜像名,后面几行变成
  独立的无效命令。该行内容与下一行的 --mount 重复,且 `"$ "` 已是残缺文本,删去。

* 06_repository/6.4:`openssl s_client -connect YourDomainName OR HostIP:443` 里的
  占位符带空格,shell 会切成三个参数,-connect 只收到 YourDomainName,openssl 直接
  报错;`docker login YourDomainName OR HostIP` 同理。改为一个变量。

* 08_data/8.2:`docker run -v $(pwd):/app -p 3000:3000 node npm run dev` 跑不起来
  ——官方 node 镜像没有设置 WORKDIR(docker-node 的 Dockerfile 里只有 ENTRYPOINT
  与 CMD),工作目录是 /,npm 找不到 /package.json。补 -w /app,顺手引号包住 $(pwd)
  并给出确定的标签(本书 4.1、7.10 都要求避免 latest)。

* 12_implementation/12.6:整段用的是 iproute2(ip link add / ip netns exec),中间
  却夹了一句 `brctl addif`。bridge-utils 在当前 Debian/Ubuntu/RHEL 默认不再安装,
  照抄会在这一行断掉;改成等价的 `ip link set A master docker0`。

* 14.1/14.2 的 `sysctl --system`、14.1 join 节点的 `systemctl enable/start
  containerd`、6.4 的 `systemctl restart docker` 都缺 sudo,而紧邻的行(sudo tee、
  14.1 第 47 行的 sudo systemctl restart containerd)都带。补齐。

* 15_etcd/demo/cluster/docker-compose.yml 仍留着顶层 `version: "3.6"`,Compose 会
  警告 obsolete;11.1 明写「新文件建议直接省略该字段」,15.3 正文内联的同一份文件
  也早已省略,只有磁盘上的 demo 落下了。删除后 YAML 仍可正常解析。

* 11.4:「对于 web 项目中的一个 db 容器,可能是 web_db」是 Compose V1 的下划线拼接,
  V2 起统一改用连字符,只有 --compatibility 才回到下划线。

* 附录四 CMD 一节四处写成 `CMD ['executable', 'param1']` 单引号,还说「我们建议任何
  服务镜像都使用这种形式」。exec 形式是 JSON,单引号解析不出来会退回 shell 形式,本书
  7.4 就把 `CMD ['node', 'server.js']` 明确标为「 错误:单引号(JSON 不支持)」。
  一并把 `CMD ['PHP', '-a']` 的二进制名改回小写 php。
2026-08-07 23:26:36 -07:00
yeasy 08e981018e fix(content): 修正四处书内自相矛盾的技术断言
1. FROM「必须是第一条指令」(4.5、7.16、summary 三处)与本书 7.7.4「FROM 之前的
   ARG」整节直接冲突。官方 Dockerfile 参考写的是 "A Dockerfile must begin with a
   FROM instruction. This may be after parser directives, comments, and globally
   scoped ARGs",且 "ARG is the only instruction that may precede FROM"。三处
   一并改成「第一条构建指令」并点明例外。

2. 12 章小结把 USER Namespace 列进「默认启用」的一档,并写「容器 root ≠ 宿主机
   root」;而同章 12.2.2 明写 USER Namespace 默认**不**启用、需 userns-remap 显式
   开启,18.1 更直说「在默认情况下,容器内的 root 用户(UID=0)就是宿主机上的
   root 用户」。小结按正文口径改回——这条读反了会直接误判容器逃逸的风险面。

3. 11.5「目前支持三种日志驱动类型」是 Compose 早期文本的残留。官方支持 json-file、
   local、syslog、journald、gelf、fluentd、awslogs、splunk、etwlogs、gcplogs、
   none 共十余种,本书 19 章小结自己就列了六种。改为给出常见取值并链到官方清单。

4. 7.8 与 7.5 的示例注释建议 postgres:latest / redis:latest,而 4.1、7.10、
   7.16、7 章小结、4.5 全都要求避免 latest(7.8 同一文件第 177 行也写「避免
   latest」)。按全书口径改掉这两处。

另:ENV 的空格分隔旧写法(7.6 的「格式一」、附录四的 PG_MAJOR/PATH 示例)改为等号
形式并加注。BuildKit 的 LegacyKeyValueFormat 检查会报
"ENV key=value" should be used instead of legacy "ENV key value" format,
而本书 10.2 与 07 章 README 正是在推荐 docker buildx build --check。
2026-08-07 23:26:12 -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 4075330dba Fix architecture mermaid and MySQL version 2026-05-19 18:43:11 -07:00
yeasy 3c5c5911b0 Fix nginx version, IPVS removal, cgroups v2 and Redis config 2026-05-13 08:22:20 +00:00
yeasy 7e3f90b522 Update Node base images to 22 LTS 2026-05-01 10:24:43 +00:00
yeasy 72513eb673 更新 Namespace/Gateway API/nftables/DCT 退役时间线
- ch12: 添加 TIME namespace (Linux 5.6+),内核 namespace 类型从 7 更新为 8
- ch12: 补充 Docker Engine v29.x 实���性 nftables 支持
- ch13: Ingress-NGINX 退役通知,添加 Gateway API 推荐方案和示例
- ch13: 添加 Pod Security Standards 章节(替代已移除的 PSP)
- ch18: 补充 DCT 退役时间线(2028-03-31 完全移除)和迁移建议
2026-04-26 00:12:59 +00:00
yeasy dad26ccb28 Update docker0 default subnet to 172.17.0.0/16 2026-04-25 21:03:39 +00:00
yeasy 1e9cdeea3f Update Grafana to v13, add version notes 2026-04-25 15:50:13 +00:00
yeasy 515ba9f64a Add blank lines before lists per CommonMark 2026-04-25 15:13:27 +00:00
yeasy c9c72618c3 Refresh k8s docker versions and references 2026-04-21 20:57:33 -07:00
yeasy 1bed644e5e Fix mermaid syntax and update K8s taint labels 2026-04-18 15:17:56 -07:00
yeasy f86e3567e8 Fix figure caption punctuation and table formatting 2026-04-13 18:37:00 -07:00
yeasy 31093ccbdb 修复 URL 编码与澄清 containerd image store 启用条件 2026-03-30 08:37:37 -07:00
yeasy 63ce0dc3f5 Fix trailing whitespace 2026-03-27 22:20:39 -07:00
yeasy ee595e7cce Fix README navigation 2026-03-24 21:11:28 -07:00
yeasy 76c2ae50fe Add blank lines around headers 2026-03-24 09:27:04 -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 696070cba9 Remove redundant English from headings 2026-03-16 22:34:38 -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 224e2738ce Replace straight quotes with curved quotes 2026-03-11 22:19:26 -07:00
yeasy a16e0879c0 Improve READMEs and add contribution prompts 2026-03-09 20:04:21 -07:00
yeasy 4474e62ce4 Fix cgroups, VOLUME, and tmpfs descriptions 2026-03-09 20:04:19 -07:00
baohua 6483d4472c Fix heading hierarchy 2026-03-05 19:24:01 -08:00
baohua 916092e4ce Update containerd architecture 2026-03-05 20:34:40 -08:00
baohua e8be1c4bbc Optimize content and fix issues 2026-03-03 19:30:21 -08:00
Baohua Yang 217ca43f86 Refine words 2026-03-02 22:16:51 -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 caa3331cab Split chapter 20 2026-02-22 15:33:20 -08:00
Baohua Yang 8c77a9aa99 Fix missing links 2026-02-22 13:40:20 -08:00
Baohua Yang 347c38e8bc Fix naming of the chapter dir 2026-02-22 12:42:15 -08:00