tmpfs 临时挂载
约 478 字大约 2 分钟
布欧-Lewyon
2026-05-15
首页 › Docker › 数据持久化(在新窗口打开) › tmpfs 临时挂载
tmpfs 将数据存储在宿主机内存中,不会写入磁盘。容器停止后,tmpfs 内容自动清除。
使用场景
- 敏感数据:密码文件、密钥令牌,避免写入磁盘。
- 高性能临时缓存:需要快速读写的临时文件。
- 容器内 /tmp:标准临时目录。
# 挂载 tmpfs(默认大小:宿主机内存的 50%)
docker run -d --tmpfs /app/cache nginx:alpine
# 限制 tmpfs 大小
docker run -d --tmpfs /app/cache:rw,noexec,nosuid,size=64m nginx:alpine
# 使用 --mount 语法
docker run -d \
--mount type=tmpfs,destination=/app/cache,tmpfs-size=64m \
nginx:alpinetmpfs 选项
| 选项 | 说明 |
|---|---|
rw / ro | 读写权限(默认 rw) |
noexec | 禁止执行二进制文件 |
nosuid | 禁止 suid 位 |
size | 最大大小(如 64m、512m) |
三种持久化对比
# Volume:持久化,存磁盘
docker run -v mydata:/data myapp
# Bind Mount:持久化,存宿主机路径
docker run -v $(pwd)/data:/data myapp
# tmpfs:内存,不持久
docker run --tmpfs /data myapp| 方案 | 存储位置 | 持久性 | 速度 | 常见用途 |
|---|---|---|---|---|
| Volume | Docker 管理的磁盘目录 | ✅ | 磁盘速度 | 数据库、生产数据 |
| Bind Mount | 宿主机任意路径 | ✅ | 磁盘速度 | 开发热重载、配置文件 |
| tmpfs | 内存 | ❌ | 极快 | 缓存、敏感信息 |
注意事项
- tmpfs 在 Linux 上可用,macOS/Windows 下 Docker Desktop 通过 VM 模拟支持。
- tmpfs 计入容器的内存限制(
--memory)。 - 容器停止或重启后,tmpfs 内容丢失。
- 不适合需要持久化或跨容器共享的数据。
小结
- tmpfs 将数据存在内存,速度快但不持久。适合临时缓存和敏感数据。
- 语法:
--tmpfs /path:options或--mount type=tmpfs,destination=/path。 - 可通过
size限制最大内存占用。 - 在 Linux 上原生支持,macOS/Windows Docker Desktop 通过 VM 间接支持。
上一节:Volume 与 Bind Mount 下一节:权限问题
