mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-09-10 07:08:17 +00:00
章节里写着「完整的文件如下」,仓库里配套的实际文件却已经和正文对不上。 这类漂移比正文里的笔误更隐蔽——读者按目录跑起来的是另一份东西。 - `11_compose/demo/django/Dockerfile` 用的是 `ENV PYTHONUNBUFFERED 1` 这种 空格旧写法,而 7.6 节写着绝对规则:「已被官方弃用……`docker buildx build --check` 会直接把它标出来。**一律用等号**」。这是全仓唯一一处违反(已扫过 全部 md 与 11 个 Dockerfile)。同文件还有三处与 11.6 节不符:`FROM python:3` (章节是 3.12-slim)、`pip install` 缺 `--no-cache-dir`(章节专门列表讲了 它的作用)、requirements 用 psycopg2 而章节表格写着「推荐使用 psycopg 3」。 按 11.6 同步,现与章节代码块逐字节一致。 - `07_dockerfile/multistage_example/laravel/Dockerfile` 与 7.18 节差三处, 两处有实质后果:`chmod -R 777 storage`(章节是 `chown www-data` + `775`) —— 而 18.5 节正拿 `777` 当"全员读写权限"的风险范例;以及 `COPY composer.json` 漏掉了 `composer.lock`,正好破坏该章论证的可复现性。第三处 nginx 标签 1.30 与全书 20 处 1.28 不一致(且章节自己的注释就推荐 1.28-alpine)。 同步后与章节仅差章节独有的那行说明性注释。 - `11_compose/demo/wordpress/docker-compose.yml` 的 wordpress 服务**完全没有 `volumes:`**,而 11.8 节专门加粗警告过「`volumes` 配置很重要!没有它,每次 容器重启数据都会丢失」并声明了 `wp_data`。该 demo 恰好演示了章节警告的那个 故障。另外还缺 `wp_net`、两个 container_name、`WORDPRESS_DB_NAME` 与 `uploads.ini` 挂载。按章节同步,并补上章节 11.8.3 已给出内容的 `uploads.ini` (否则挂载会指向不存在的文件)。同步后 YAML 实测可解析,volumes 为 db_data + wp_data。 `secrets/` 目录未补:它被 .gitignore 有意排除,demo 的 README 就是教读者 自己创建的,属于设计而非缺失。