必须显式指定 size= 值,tmpfs 默认不限制大小或按物理内存50%分配,易致oom;推荐 /tmp 设100m、/run 设32m,并搭配 noexec、nosuid 等安全选项。
直接用 size 参数就能精准控制 tmpfs 占用的内存上限,关键不是“能不能设”,而是“设多少合理”和“不设会怎样”。
必须显式指定 size= 值
tmpfs 默认不限制大小,或按主机物理内存的 50% 自动分配 —— 这在多容器环境中极易引发争抢甚至 OOM 终止。不写 size= 就等于放任应用往内存里狂写临时文件。
- 正确写法:
--tmpfs /tmp:rw,noexec,nosuid,size=100m - 错误写法:
--tmpfs /tmp:rw(无 size,风险极高) - 单位支持 k、m、g,也支持百分比如
size=10%(按主机总内存计算)
按用途匹配推荐大小区间
不同挂载路径对容量需求差异大,硬套统一值反而容易出问题。
-
/tmp:高频临时文件场景(日志缓冲、图像处理中间件),建议 50m–200m,典型值
size=100m -
/run:存放进程 PID、socket 文件等轻量运行时数据,32m 足够,设
size=32m -
/app/cache:缓存类应用专用目录,根据缓存预期体积定,例如
size=512m或size=2g
配合安全选项一起使用
size 控制容量,但权限控制决定能否被滥用。单独设大小不够,必须组合加固:
MiniMax 图片理解 + 网络搜索 MCP 工具。适配 Docker 环境(极空间等),支持图片 OCR 识别、图像内容理解、网络搜索。API Key 安全存储在本地 credentials 文件,不暴露在代码中。
- noexec:禁止执行二进制文件,防恶意代码落地执行
- nosuid:忽略 setuid/setgid 位,降低提权风险
- mode=1777(可选):类似系统 /tmp 权限,允许多用户临时写入但互不可删
Docker Compose 中的等效写法
避免只在命令行配置,生产环境应统一收口到编排文件中:
services:
app:
image: myapp:latest
tmpfs:
- /tmp:rw,noexec,nosuid,size=100m
- /run:rw,noexec,nosuid,size=32m
注意:YAML 中不能省略引号,否则冒号会被 YAML 解析器误读。










