绑定挂载的专有 mount 语法
读了一起学 Docker31:绑定挂载和具名卷的通用 mount 语法之后,我们已经了解了 –mount 选项的通用语法。同时,我们也知道,根据挂载的类型不同,有着对应的专用语法。本篇文章就来总结一下:挂载类型为绑定挂载的情况下,有哪些专用语法可用。请看选项表:
Bind propagation#
绑定传播是指,在一个指定的绑定挂载或具名卷中创建的挂载,能够传播到指定挂载的复制品中。具体的传报操作,可以参考《Linux 玄妙之共享子树》一文。假设有这么一个挂载点 /mnt ,它又被挂载到了 /tmp 。那么,绑定传播选项,就控制了 /tmp/a 挂载是否能在 /mnt/a 上访问。每个传播设置都有一个递归对位。对于递归的情况,可以想成 /tmp/a 也被挂载到了 /foo 。传播设置决定了 /mnt/a 和 /tmp/a 是否会同时存在还是只存在一个。
bind-propagation 选项对于绑定挂载和卷挂载的默认值都是 rprivate ,且只有绑定挂载的选项可以修改。换句话说,具名卷其实是不支持绑定传播的。
shared#
原始挂载的子挂载会被暴露给复制挂载,复制挂载的子挂载也会传报到原始挂载。
slave#
和共享挂载很像,不过传播是单向的。如果原始挂载暴露子挂载,复制挂载可以看到。反过来,如果复制挂载暴露子挂载,原始挂载是看不到的。
private#
挂载是私有的。挂载内部的子挂载不会暴露给复制挂载的,复制挂载的子挂载不会暴露给原始挂载。
rshared#
与共享挂载相同,只是任何原始挂载或复制挂载点内部的嵌套的挂载点,也会接收传播或发出传播。
rslave#
与 slave 相同,只是任何原始挂载或复制挂载点内部的嵌套挂载点,也会接收传播或发出传播。
rprivate#
默认值,和 private 相同,意味着原始挂载或复制挂载点内部任何位置的挂载点,既不接收传播,也不发出传播。
以上就是绑定挂载情况下,–mount 旗标所有专用语法了。
如果喜欢我的文章,欢迎点赞支持。关注我的账号,我持续更新相关内容哦。
推荐文章: