lor*_*age 6 filesystems btrfs docker
当我查看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
Run Code Online (Sandbox Code Playgroud)
与/是我的根文件系统的挂载点。但是,如果我开始,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
Run Code Online (Sandbox Code Playgroud)
现在我的根文件系统的挂载点已根据lsblk更改为/var/lib/docker/btrfs. 这给我提出了三个问题:
一个分区可以挂载到多个路径,但lsblk只会显示一个。在您的情况下,/dev/sda2包含一个btrfs文件系统,该文件系统同时安装为/和 as /var/lib/docker/btrfs,可能有两个不同的subvolumes. 要查看有关如何在系统周围安装内容的更多详细信息,请使用cat /proc/mounts.
至于第三点,我的猜测是 docker 使用 btrfs 子卷作为 Linux 容器的存储来运行被监禁的守护进程。这允许轻松创建这些容器的快照。