首页 > 解决方案 > docker容器内的overlayfs

问题描述

是否可以在(特权)docker 容器中安装覆盖 fs?至少我的直观方法(在容器外运行良好)失败了:

> mkdir /tmp/{up,low,work,merged}
> mount -t overlay overlay -o lowerdir=/tmp/low/,upperdir=/tmp/up/,workdir=/tmp/work/ /tmp/merged/
mount: /tmp/merged: wrong fs type, bad option, bad superblock on overlay, missing codepage or helper program, or other error.

附加信息:

标签: dockeroverlayunionfsoverlayfs

解决方案


找到了有用的东西!将 workdir 和 upperdir 挂载为 tmpfs 对我有用。像这样:

> mkdir /tmp/overlay
> mkdir /tmp/{low,merged}
> mount -t tmpfs tmpfs /tmp/overlay
> mkdir /tmp/overlay/{up,work}
> mount -t overlay overlay -o lowerdir=/tmp/low/,upperdir=/tmp/overlay/up/,workdir=/tmp/overlay/work/ /tmp/merged/ 

我仍然有兴趣解释为什么在 docker 容器中创建不带 tmpfs 的覆盖失败?


推荐阅读