You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode Devcontainers中/tmp目录大小受限的原因及配置位置

问题解答

1. /tmp被限制为11G的原因

tmpfs是基于内存的文件系统,Docker中tmpfs的默认大小为主机可用内存的50%。你的主机内存约为22G,因此/tmp自动获得11G的空间上限。写入/tmp的文件会直接占用主机内存,这就是你观察到内存占用上升的原因。

2. /tmp映射为tmpfs的配置位置

该tmpfs挂载确实由Docker-in-Docker(DIND)扩展自动添加。扩展在初始化Dev Container时,默认会将/tmp配置为tmpfs以提升临时文件的读写效率。这个配置并非来自你的项目devcontainer.json,而是扩展自带的容器启动模板。

解决方案:切换为overlay文件系统的/tmp

要禁用tmpfs挂载,让/tmp使用容器的overlay文件系统(受硬盘空间限制),修改项目的.devcontainer/devcontainer.json即可:

方法1:通过mounts配置覆盖默认设置

在devcontainer.json中添加以下配置,强制/tmp使用容器本地文件系统:

"mounts": [
  "type=bind,source=/tmp,target=/tmp,bind-propagation=rshared"
]

方法2:通过runArgs禁用tmpfs限制

添加runArgs配置,指定/tmp不使用带大小限制的tmpfs:

"runArgs": [
  "--tmpfs=/tmp:size=0"
]

size=0会让Docker自动放弃tmpfs挂载逻辑,转而使用容器的overlay文件系统。

修改完成后,重新构建并启动Dev Container,此时/tmp的空间限制将由宿主机硬盘容量决定。

内容的提问来源于stack exchange,提问作者Daniel Habenicht

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 23:07:35