云计算核心技术Docker教程:Docker使用device mapper存
Device Mapper是基于内核的框架,是Linux上许多高级卷管理技术的基础。Docker的devicemapper存储驱动程序利用此框架的精简配置和快照功能进行图像和容器管理。本文将Device Mapper存储驱动程序称为devicemapper,将内核框架称为Device Mapper。
对于受devicemapper支持的系统,Linux内核中包含支持。,需要特定的配置才能将其与Docker一起使用。
该devicemapper驱动程序使用专用于Docker的块设备,并在块级别而非文件级别运行。可以通过向Docker主机添加物理存储来扩展这些设备,并且它们的性能要好于在操作系统(OS)级别上使用文件系统。
前提条件
devicemapper 在Docker Engine上受支持-在CentOS,Fedora,Ubuntu或Debian上运行的社区。
devicemapper需要安装lvm2和device-mapper-persistent-data软件包。
更改存储驱动程序将使您已经创建的所有容器在本地系统上均不可访问。使用docker save保存的容器,并推动现有图像docker集线器或私人仓库,这样你就不会需要稍后重新创建。
配置泊坞窗与devicemapper存储驱动程序
在执行这些步骤之前,您必须满足所有 先决条件。
配置loop-lvm测试模式
此配置仅适用于测试。该loop-lvm模式利用一种“回送”机制,该机制可以读取和写入本地磁盘上的文件,就像它们是实际的物理磁盘或块设备一样。,添加回送机制以及与OS文件系统层的交互意味着IO操作可能很慢且占用大量资源。使用环回设备也会引入竞争条件。,设置loop-lvm模式可以帮助您在尝试启用direct-lvm模式所需的更复杂的设置之前,先找出一些基本问题(例如缺少用户空间软件包,内核驱动程序等)。loop-lvm,模式仅应在配置之前用于执行基本测试 direct-lvm。
对于生产系统,请参阅为生产 配置直接lvm模式。
1.停止Docker。
$ sudo systemctl s docker
2.编辑/etc/docker/daemon.json。如果尚不存在,请创建它。假设文件为空,请添加以下内容。
{
"storage-driver": "devicemapper"
}
在守护程序参考文档中查看每个存储驱动程序的所有存储选项
如果daemon.json文件包含格式错误的JSON,则Docker无法启动。
3.启动Docker。
$ sudo systemctl start docker
4.验证守护程序正在使用devicemapper存储驱动程序。使用 docker info命令并查找Storage Driver。
$ docker info
Containers: 0
Running: 0
Paused: 0
Sped: 0
Images: 0
Server Version: 17.03.1-ce
Storage Driver: devicemapper
Pool Name: docker-202:1-8413957-pool
Pool Blocksize: 65.54 kB
Base Device Size: 10.74 GB
Backing Filesystem: xfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 11.8 MB
Data Space Total: 107.4 GB
Data Space Available: 7.44 GB
Metadata Space Used: 581.6 KB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.147 GB
Thin Pool Minimum Free Space: 10.74 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Data loop file: /var/lib/docker/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/metadata
Library Version: 1.02.135-RHEL7 (2016-11-16)
<...>
该主机以loop-lvm模式运行,生产系统不支持该模式。这可以通过以下事实来表明Data loop file 和Metadata loop file均位于下方的文件中 /var/lib/docker/devicemapper。这些是环回安装的稀疏文件。对于生产系统,请参阅为生产 配置直接lvm模式。
人工智能培训
- 真正能和人交流的机器人什么时候实现
- 国产机器人成功完成首例远程冠脉介入手术
- 人工智能与第四次工业革命
- 未来30年的AI和物联网
- 新三板创新层公司东方水利新增专利授权:“一
- 发展人工智能是让人和机器更好地合作
- 新春贺喜! 经开区持续推进工业互联网平台建设
- 以工业机器人为桥 传统企业如何趟过智造这条河
- 山立滤芯SAGL-1HH SAGL-2HH
- 2015国际智能星创师大赛火热报名中!
- 未来机器人会咋看人类?递归神经网络之父-像蚂
- 成都新川人工智能创新中心二期主体结构封顶
- 斯坦德机器人完成数亿元人民币C轮融资,小米产
- 到2020年,智能手机将拥有十项AI功能,有些可能
- 寻找AI机器人的增长“跳板”:老龄化为支点的产
- 力升高科耐高温消防机器人参加某支队性能测试