注意:这个问题直接关系到这个特别是为了这个答案,但它不是重复的。
我想与来宾共享主机中的一个文件夹,但要确保来宾的根目录不会意外写入该文件夹。
/toolchains
在我的例子中,主机和来宾上的文件夹都是 。它包含许多基于 GCC 的工具链,用于针对不同的平台。
现在分享本身是微不足道的:
lxc config device add CONTAINER toolchains disk source=/toolchains path=toolchains
从技术上讲,它似乎是一个绑定安装。但是,在容器内重新挂载以使其只读失败:
# mount -o remount,ro /toolchains
mount: cannot mount /dev/sda1 read-only
不幸的是,这并没有提供非常详细的信息。
为了更好地衡量,我也尝试了这个替代方案:
# mount -o remount,ro,bind /toolchains
mount: cannot mount /dev/sda1 read-only
在...mount(8)
下提到过mount --bind,ro foo foo
我有哪些选择可以实现我想要的目标?即以只读方式与来宾共享主机文件夹。我应该在这里使用某种联合 FS 还是我获得只读挂载的唯一真正机会 1.) 使用 CIFS 共享或 2.) 使用一些钩子通过mount
主机中的命令将主机文件夹绑定挂载到访客根?
我正在使用 LXC 2.20。
答案1
如果您将目录以只读方式绑定安装在主机上,然后与 LXC 容器共享,会发生什么情况?
mount --bind /toolchains /toolchains-ro
mount -o remount,ro,bind /toolchains-ro
lxc config device add CONTAINER toolchains disk source=/toolchains-ro path=toolchains
从技术上讲,主机级别上只读的所有内容在容器中都应保持只读。