温馨提示×

linux mount绑定挂载怎么弄

小樊
52
2026-09-26 13:12:26
栏目: 智能运维

在 Linux 中,**绑定挂载(bind mount)**可以把一个已经存在的目录“挂载”到另一个目录,就像它是那个目录一样。常用于容器、chroot、共享目录等场景。


一、基本用法

1️⃣ 把目录 A 绑定挂载到目录 B

mount --bind /source/path /target/path

示例:

mkdir -p /mnt/data
mount --bind /home/user/data /mnt/data

此时:

  • 访问 /mnt/data 就等于访问 /home/user/data
  • 两边内容完全同步

二、只读绑定挂载(常用)

mount --bind -o ro /source/path /target/path

或:

mount --bind /source/path /target/path
mount -o remount,ro /target/path

三、查看绑定挂载

mount | grep bind

或:

findmnt | grep bind

四、卸载绑定挂载

umount /target/path

⚠️ 注意:

  • 如果目标目录上有其他挂载,可能需要 umount -l(lazy umount)

五、开机自动绑定挂载(/etc/fstab)

在 /etc/fstab 中添加:

/source/path  /target/path  none  bind  0  0

只读示例:

/source/path  /target/path  none  bind,ro  0  0

然后执行:

mount -a

六、递归绑定挂载(容器常用)

把一个目录树整体绑定(包括子挂载点):

mount --rbind /source/path /target/path

只读递归:

mount --rbind /source/path /target/path
mount -o remount,ro /target/path

七、与 Docker 的关系(补充)

Docker 的:

-v /host/path:/container/path

底层就是 bind mount。


如果你是想:

  • 做 chroot
  • 做 容器/沙箱
  • 做 NFS/磁盘目录共享
  • 或 systemd 下的 bind mount

可以告诉我具体场景,我可以给你更精确的示例。

0 踩