diff --git a/07_dockerfile/7.8_volume.md b/07_dockerfile/7.8_volume.md index ce7a6bf..92a2445 100644 --- a/07_dockerfile/7.8_volume.md +++ b/07_dockerfile/7.8_volume.md @@ -103,7 +103,7 @@ VOLUME /data RUN echo "hello" > /data/test.txt ``` -**原因**:VOLUME 指令之后,Docker 将该目录视为外部挂载点,不再记录对它的修改。 +**原因**:在构建过程中,VOLUME 指令会为该目录创建一个临时的匿名卷。后续 RUN 指令对该目录的写入实际发生在这个临时卷中,而非镜像层。当该 RUN 指令结束后,临时卷被丢弃,因此写入的内容不会保存到最终镜像中。注意:这与容器运行时创建的匿名卷是不同的——运行时创建的卷会在容器生命周期内持续存在。 #### 正确做法 diff --git a/08_data/8.3_tmpfs.md b/08_data/8.3_tmpfs.md index 578a960..9caefd1 100644 --- a/08_data/8.3_tmpfs.md +++ b/08_data/8.3_tmpfs.md @@ -10,16 +10,20 @@ ### 8.3.2 基本用法 -```bash -$ docker run --tmpfs /run:rw,noexec,nosuid,size=64m nginx -``` - -也可以使用 `--mount` 语法: +使用 `--mount` 语法(推荐): ```bash -$ docker run --mount type=tmpfs,destination=/run,tmpfs-size=67108864 nginx +$ docker run --mount type=tmpfs,destination=/run,tmpfs-size=67108864,tmpfs-mode=1770 nginx ``` +也可以使用 `--tmpfs` 简写语法: + +```bash +$ docker run --tmpfs /run:size=64m nginx +``` + +> **注意**:`--tmpfs` 支持的选项有限,主要为 `size` 和 `mode`。如果需要更精细的控制(如 `noexec`、`nosuid`),推荐使用 `--mount` 语法并通过 `tmpfs-mode` 参数设置权限。 + ### 8.3.3 注意事项 - 容器停止后,`tmpfs` 数据会丢失。 diff --git a/12_implementation/12.3_cgroups.md b/12_implementation/12.3_cgroups.md index fed7ca5..6d14fc0 100644 --- a/12_implementation/12.3_cgroups.md +++ b/12_implementation/12.3_cgroups.md @@ -35,10 +35,11 @@ flowchart LR | 时间 | 事件 | |------|------| -| 2006 | Google 工程师提出 cgroups 概念 | -| 2008 | Linux 2.6.24 正式支持 cgroups v1 | +| 2006 | Google 工程师提出 "process containers" 概念 | +| 2007 | 为避免与 Linux 容器概念混淆,更名为 "control groups" (cgroups) | +| 2008 | Linux 2.6.24(2008年1月)正式合并 cgroups v1 | | 2016 | Linux 4.5 引入 cgroups v2 | -| 现在 | Docker 默认使用 cgroups v2 (如系统支持)| +| 现在 | Docker 在宿主机支持 cgroups v2 时会自动使用 v2,否则回退到 v1 | --- @@ -265,7 +266,7 @@ $ docker run -d --name cadvisor \ -v /var/run:/var/run:ro \ -v /sys:/sys:ro \ -v /var/lib/docker:/var/lib/docker:ro \ - gcr.io/cadvisor/cadvisor + ghcr.io/google/cadvisor ``` ---