// 清除thin pool
1.1 func (d *Driver) Cleanup() error {
// 停止thin pool
err := d.DeviceSet.Shutdown()
return err
}
// 当加载新镜像时,添加一个新thin device
// id为containerid或imageid
1.2 func (d *Driver) Create(id, parent string) error {
if err := d.DeviceSet.AddDevice(id, parent); err != nil {
return err
}
return nil
}
// 删除thin device
1.3 func (d *Driver) Remove(id string) error {
//检查thin device是否存在
if !d.DeviceSet.HasDevice(id) {
return nil
}
//通过id从thin pool中删除设备
if err := d.DeviceSet.DeleteDevice(id); err != nil {
return err
}
//mp为/var/lib/docker/devicemapper/mnt/$id
mp := path.Join(d.home, "mnt", id)
//删除目录下所有的文件
if err := os.RemoveAll(mp); err != nil && !os.IsNotExist(err) {
return err
}
return nil
}
// 挂载thin device到/var/lib/docker/devicemapper/mnt/$id目录下
1.4 func (d *Driver) Get(id, mountLabel string) (string, error) {
//mp=/var/lib/docker/devicemapper/mnt/$id
mp :&
graph driver-device mapper-02driver基本操作
最新推荐文章于 2021-11-23 11:36:01 发布
本文档详细介绍了使用devicemapper作为Docker存储驱动时,对thin devices的管理操作,包括清理thin pool、创建新设备、删除设备、挂载和卸载设备以及检查设备存在的方法。
摘要由CSDN通过智能技术生成