首页/云/云与容器速查/只读根文件系统与 tmpfs 兜底
容器与 Docker106 条

只读根文件系统与 tmpfs 兜底

用 --read-only 把容器根文件系统设为只读:阻止进程写坏镜像层、限制持久化位置;再对必要可写目录挂 tmpfs 或数据卷,兼顾安全与可用。

云与容器速查云更新于 2026-10-12
启用--read-only
必要可写--tmpfs /tmp:size=64m、--tmpfs /run
数据目录用 -v 数据卷显式提供可写位置
验证docker exec 容器 touch /x 应报 Read-only file system

使用示例

使用示例
docker run -d --read-only \
  --tmpfs /tmp:size=64m \
  --tmpfs /run:size=16m \
  -v appdata:/var/lib/app \
  --name app myapp:1.2.3
docker exec app touch /test   # 预期:Read-only file system
有些应用启动时会写 /etc 或应用目录:先跑起来观察写入点,再逐个补 tmpfs/卷,不要盲目开只读。

易错点

  • 直接上只读:应用启动即失败,必须先摸清写入路径
  • 把必要可写目录全挂 tmpfs:重启数据即丢

数据来源与参考

  • Docker Docs:docker run --read-only
  • Docker Docs:tmpfs mounts

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌