docker 如何在不进入 /etc/mtab 的情况下挂载卷?

docker 如何在不进入 /etc/mtab 的情况下挂载卷?

我对 docker 还很陌生,所以不要让我产生愚蠢的疑虑。我知道这/etc/mtab反映了当前安装的分区。我还在命令中看到以下输出df -h

# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            5.9G   12K  5.9G   1% /dev
tmpfs           1.2G  1.6M  1.2G   1% /run
/dev/sda4       220G  150G   59G  73% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none            5.9G   70M  5.8G   2% /run/shm
none            100M   76K  100M   1% /run/user
/dev/sda1       496M   18M  479M   4% /boot/efi
/dev/dm-1       9.8G  129M  9.1G   2% /var/lib/docker/devicemapper/mnt/c737743ce2dc4ef68598eca9de89f37d17bfeeb435e6934b6d41216967093e26
shm              64M     0   64M   0% /var/lib/docker/containers/396fd80e6258952508d2d5c10f2322af51445ca4c516245117e32a6a62c23e81/shm

问题是,如果它/dev/dm-1被视为已挂载分区,df -h那么为什么它没有在 /etc/mtab 文件中列出?

我使用 devicemapper 存储驱动程序作为设备。另外,是否可以在 /etc/mtab 中列出我的 docker 分区?我正在做一些实验,需要在 /etc/mtab 中输入 docker 卷。

提前致谢 !

答案1

Docker 只需挂载而不更改该文件即可实现这一点。

有关详细信息,只需输入man mount并找到有关该文件的部分。手册页给出了/etc/mtab与容器不太兼容的提示:

项目卸载传统上,在文件中维护当前已安装的文件系统列表/etc/mtab。这个真实的 mtab 文件仍然受支持,但在当前的 Linux 系统上,最好将其改为符号链接/proc/mounts,因为在用户空间中维护的常规 mtab 文件无法可靠地与命名空间、容器和其他高级 Linux 功能配合使用。

因此,您很可能在 中找到所需内容/proc/mounts。此外,docker cli 本身也提供了很多自省功能。

相关内容