当我查看它的输出时,lsblk
通常会显示:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 298.1G 0 disk
├─sda1 8:1 0 1023M 0 part /boot
└─sda2 8:2 0 297.1G 0 part /
sr0 11:0 1 1024M 0 rom
作为/
我的根文件系统的挂载点。但是,如果我开始,sudo systemctl start docker
我会得到以下输出:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 298.1G 0 disk
├─sda1 8:1 0 1023M 0 part /boot
└─sda2 8:2 0 297.1G 0 part /var/lib/docker/btrfs
sr0 11:0 1 1024M 0 rom
现在我的根文件系统的挂载点已lsblk
更改为/var/lib/docker/btrfs
.这向我提出了三个问题:
- 这是真的?
- 这是符合规定的还是不应该这样的?
- 为什么?
答案1
一个分区可以挂载到多个路径,但只会lsblk
显示一个。在您的情况下,/dev/sda2
包含一个btrfs
文件系统,该文件系统同时安装为/
和 as /var/lib/docker/btrfs
,可能有两个不同的subvolumes
.要查看有关如何在系统周围安装内容的更多详细信息,请使用cat /proc/mounts
.
至于第三点,我的猜测是 docker 使用 btrfs 子卷作为 Linux 容器的存储来运行被监禁的守护进程。这允许轻松创建这些容器的快照。