> For the complete documentation index, see [llms.txt](https://yeasy.gitbook.io/docker_practice/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yeasy.gitbook.io/docker_practice/di-er-bu-fen-jin-jie-pian/08_data/8.3_tmpfs.md).

# 8.3 tmpfs 挂载

`tmpfs` 挂载会把数据放在内存中，而不是写入容器可写层或数据卷。它只适用于 Linux 语义的容器环境，适合需要快速读写但不要求持久化的数据。

## 8.3.1 适用场景

* 临时缓存
* 会话数据
* 不希望落盘的敏感中间文件

## 8.3.2 基本用法

使用 `--mount` 语法（推荐）：

```bash
$ docker run --mount type=tmpfs,destination=/run,tmpfs-size=67108864,tmpfs-mode=1770 nginx
```

也可以使用 `--tmpfs` 简写语法：

```bash
$ docker run --tmpfs /run:size=64m nginx
```

> **注意**：`--tmpfs` 更适合简单场景；如果你希望显式描述挂载点、大小和权限，`--mount type=tmpfs,...` 的可读性更好，也更便于后续维护。

## 8.3.3 注意事项

* 容器停止后，`tmpfs` 数据会丢失。
* `tmpfs` 占用宿主机内存，建议显式限制大小。
* 不适合需要持久化的数据。
* `tmpfs` 不适合多个容器共享同一份数据，也不适合当作跨重启的缓存层。
* 在内存压力较高时，部分数据可能受系统交换机制影响，因此不要把 `tmpfs` 当作绝对不会落盘的安全边界。

## 8.3.4 与 Volume / Bind Mount 对比

| 类型         | 数据位置        | 持久化 | 典型用途          |
| ---------- | ----------- | --- | ------------- |
| Volume     | Docker 管理目录 | 是   | 数据库、长期业务数据    |
| Bind Mount | 宿主机指定目录     | 是   | 开发联调、配置文件共享   |
| tmpfs      | 内存          | 否   | 高速临时数据、敏感临时文件 |
