全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-21 5 分钟 ✍️ juanwangdev

Tmpfs 临时存储

Tmpfs 将数据存储在内存中,容器停止后数据丢失,适合敏感数据和临时文件。

基本用法

Bash
# 使用 tmpfs 挂载
docker run -d \
  --name my-app \
  --tmpfs /tmp \
  my-app

# 指定大小
docker run -d \
  --name my-app \
  --tmpfs /tmp:size=100m \
  my-app

Tmpfs 挂载仅存在于内存,容器停止后数据丢弃。

Compose 配置

YAML
version: '3.8'

services:
  app:
    image: my-app
    tmpfs:
      - /tmp
      - /var/run
      - /tmp/cache:size=50m

# 或使用长语法
    volumes:
      - type: tmpfs
        target: /tmp
        tmpfs:
          size: 104857600  # 100MB

使用场景

敏感数据

YAML
services:
  app:
    image: my-app
    tmpfs:
      - /secrets:size=10m

# 敏感数据写入 /secrets
# 容器停止后自动清除,不留痕迹

缓存目录

YAML
services:
  web:
    image: nginx
    tmpfs:
      - /var/cache/nginx:size=50m

# 缓存存在内存中,提升性能

会话存储

YAML
services:
  app:
    image: my-app
    tmpfs:
      - /var/lib/app/sessions:size=20m

# 会话数据在内存中,容器重启后丢失
# 适合无状态应用

对比其他挂载

挂载类型存储位置持久化性能适用场景
bind mount宿主机磁盘配置文件
volumeDocker 管理数据持久化
tmpfs内存最高敏感/临时数据

限制

YAML
# tmpfs 仅在 Linux 支持
# macOS/Windows Docker Desktop 不支持

# 大小限制
services:
  app:
    tmpfs:
      - /tmp:size=100m  # 必须指定大小,防止耗尽内存

Tmpfs 使用主机内存,必须指定大小限制,避免耗尽内存。

与 --mount 配合

Bash
# 使用 --mount 挂载 tmpfs
docker run -d \
  --name my-app \
  --mount type=tmpfs,destination=/tmp,tmpfs-size=104857600 \
  my-app

查看 tmpfs

Bash
# 查看容器挂载信息
docker inspect my-app | grep -A 10 "Tmpfs"

# 输出
"Tmpfs": {
    "/tmp": "104857600"
}

安全注意

YAML
# 敏感数据使用 tmpfs
services:
  db:
    image: postgres
    tmpfs:
      - /var/run/postgresql:size=10m

# 数据库运行时文件在内存中
# 容器停止后自动清除

敏感数据使用 tmpfs,容器停止后自动清除,不留痕迹。

要点总结

  • Tmpfs 将数据存储在内存中,容器停止后数据丢失
  • 使用 --tmpfs 或 Compose tmpfs 配置
  • 适合敏感数据、缓存、会话存储等临时场景
  • 必须指定大小,防止耗尽宿主机内存
  • 仅 Linux 支持,macOS/Windows Docker Desktop 不支持

📝 发现内容有误?点击此处直接编辑

← 上一篇 网络隔离与安全策略
下一篇 → Volume 驱动与备份
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库