mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 04:14:38 +00:00
Fix cgroups, VOLUME, and tmpfs descriptions
This commit is contained in:
@@ -103,7 +103,7 @@ VOLUME /data
|
|||||||
RUN echo "hello" > /data/test.txt
|
RUN echo "hello" > /data/test.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
**原因**:VOLUME 指令之后,Docker 将该目录视为外部挂载点,不再记录对它的修改。
|
**原因**:在构建过程中,VOLUME 指令会为该目录创建一个临时的匿名卷。后续 RUN 指令对该目录的写入实际发生在这个临时卷中,而非镜像层。当该 RUN 指令结束后,临时卷被丢弃,因此写入的内容不会保存到最终镜像中。注意:这与容器运行时创建的匿名卷是不同的——运行时创建的卷会在容器生命周期内持续存在。
|
||||||
|
|
||||||
#### 正确做法
|
#### 正确做法
|
||||||
|
|
||||||
|
|||||||
@@ -10,16 +10,20 @@
|
|||||||
|
|
||||||
### 8.3.2 基本用法
|
### 8.3.2 基本用法
|
||||||
|
|
||||||
```bash
|
使用 `--mount` 语法(推荐):
|
||||||
$ docker run --tmpfs /run:rw,noexec,nosuid,size=64m nginx
|
|
||||||
```
|
|
||||||
|
|
||||||
也可以使用 `--mount` 语法:
|
|
||||||
|
|
||||||
```bash
|
```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 注意事项
|
### 8.3.3 注意事项
|
||||||
|
|
||||||
- 容器停止后,`tmpfs` 数据会丢失。
|
- 容器停止后,`tmpfs` 数据会丢失。
|
||||||
|
|||||||
@@ -35,10 +35,11 @@ flowchart LR
|
|||||||
|
|
||||||
| 时间 | 事件 |
|
| 时间 | 事件 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| 2006 | Google 工程师提出 cgroups 概念 |
|
| 2006 | Google 工程师提出 "process containers" 概念 |
|
||||||
| 2008 | Linux 2.6.24 正式支持 cgroups v1 |
|
| 2007 | 为避免与 Linux 容器概念混淆,更名为 "control groups" (cgroups) |
|
||||||
|
| 2008 | Linux 2.6.24(2008年1月)正式合并 cgroups v1 |
|
||||||
| 2016 | Linux 4.5 引入 cgroups v2 |
|
| 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 /var/run:/var/run:ro \
|
||||||
-v /sys:/sys:ro \
|
-v /sys:/sys:ro \
|
||||||
-v /var/lib/docker:/var/lib/docker:ro \
|
-v /var/lib/docker:/var/lib/docker:ro \
|
||||||
gcr.io/cadvisor/cadvisor
|
ghcr.io/google/cadvisor
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user