互联网技术 / 互联网资讯 · 2023年11月19日 0

Docker守护进程dockerd的DEVICEMAPPER选项介绍

Docker守护进程dockerd的DEVICEMAPPER选项介绍

通过使用带有 --storage-opt 标志的选项,可以配置特定的存储驱动程序。

以下是Linux上deviceMapper的配置文件示例:


"sTorage-driver": "deviceMapper",
"sTorage-opts": [
"dM.thinpooldev=/dev/Mapper/thin-pool",
"dM.use_deferRed_deletion=true",
"dM.use_deferRed_Removal=true"
]

其中,dM.thinpooldev 用于指定自定义块存储设备,以便为精简池提供支持。

在使用设备映射器存储时,建议使用LVM来创建和管理精简池卷。然后将该卷交给Docker,以便专门用于创建映像和容器所需的快照卷。

管理引擎外部的精简池是使Docker充分利用设备映射器进行资源调配的最佳方式。这种基于LVM的精简池管理提供了多种功能,包括:自动或交互式调整精简池大小、动态更改精简池特性、以及在LVM激活精简池时自动检查精简元数据等。

如果没有提供精简池,系统将创建回送文件作为回退选项。虽然环回速度较慢,但可以在没有任何预配置存储的情况下使用。强烈建议在生产环境中避免使用环回。务必确保您的守护程序提供 --storage-opt dM.thinpooldev 参数。

作为提供上述精简池的替代方案,Docker也可以为您设置一个块设备。

您可以设置用于存储的传入块设备的百分比。

您还可以设置用于元数据存储的传入块设备的百分比。

设置LVM在尝试自动扩展可用空间之前使用的空间百分比值(100表示禁用)。

设置在LVM尝试自动扩展可用空间时,增加精简池数量的百分比值(100表示禁用)。

指定创建基本设备时要使用的大小,这将限制图像和容器的大小。默认大小为10G。需要注意的是,瘦设备本身是稀疏的,因此一个几乎为空的10G设备不会在池上使用10GB的空间。然而,如果设备更大,文件系统在空状态下将使用更多空间。

您可以在守护程序重新启动时增加基本设备的大小,这将使所有将来的映像和容器(基于这些新映像)都具有新的基本设备大小。

例如,可以将基本设备的大小增加到50G。如果现有的基本设备大小超过50G,Docker守护程序将抛出错误。用户可以使用此选项扩展基本设备的大小,但不允许缩小。

此值将影响系统范围的空文件系统,而该文件系统可能已由拉取的映像初始化和继承。通常,更改此值需要其他步骤才能生效:


sudo service docker stop
sudo rm -rf /var/lib/docker
sudo service docker start

注意:保持所有 [[[IMG_n]]] 占位符不变。