Docker存储驱动之DeviceMapper

Docker中数据存储相关有几部分,存储驱动(storage driver)用于存储镜像和容器,默认路径为/var/lib/docker/


首先,检查系统中存储驱动(storage driver)的类型,CentOS/RHEL中默认使用基于loopback设备的DeviceMapper,除此之外,DeviceMapper还有基于direct-LVM的方式。白话来解释,就是前者基于文件(下图的data和metadata文件)创建,后面基于块设备(使用LVM创建的两个卷)创建。

Docker存储驱动之DeviceMapper_第1张图片
CentOS/Redhat中默认使用DeviceMapper作为Storage Driver



DeviceMapper的构建层。


基于LOOP device构建DeviceMapper:



1. 基于文件data和metadata分别构建loop设备loop0和loop1:

基于文件的loop设备

2. 通过dmsetup基于loop0和loop1设备创建pool。

Docker存储驱动之DeviceMapper_第2张图片
基于loop设备构建的pool池

3. pool上创建的device名为/dev/dm-2


dm设备对应的device名

你可能感兴趣的:(Docker存储驱动之DeviceMapper)