docker——5、数据卷

49 篇文章 0 订阅


docker数据卷:

  • mount到主机中,绕开分层文件系统
  • 和主机磁盘性能相同,容器删除后依然保留
  • 仅限本地磁盘,不能随容器迁移

docker提供了两种数据卷:

  • bind mount
  • docke managed volume

docker mount

是将主机上的目录或者文件mount到容器里
-v 指定路径
,如果不存在,挂载时会自动创建
在这里插入图片描述
在这里插入图片描述bind mount 默认权限是 rw , 可以在mount时指定为 ro

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述彻底删除搭建的harbor
在这里插入图片描述prune的用法:
docker volume prune 删除不用的卷
docker network prune 删除不用的网络
docker container prune 删除关闭的容器

容器删除,数据卷还在
在这里插入图片描述bind mount必须指定host文件系统路径,限制了移植性

docker managed volume

docker managed volume不需要指定mount源,docker自动为容器创建数据卷目录
默认的数据卷目录都在 /var/lib/docker/volumes中
如果挂载时指向容器内已有的目录,原有的数据会被复制到volume中

在这里插入图片描述
在这里插入图片描述

bind mount与docker managed volume的相同点:
两者都是host文件系统中的某个路径
两者都支持单机同步,不能跨主机

为了实现跨主机之间同步,就需要卷插件

bind mount与docker managed volume的不同点:

在这里插入图片描述

卷插件简介

  • docker卷默认使用的是local类型的驱动,只能存在宿主机,跨主机的volume就需要使用第三方的驱动

  • docker官方只提供了卷插件的api,开发者可以根据实际需求定制卷插件驱动
    https://docs.docker.com/engine/extend/legacy_plugins/#volume-plugins

  • docker plugin是以web service的服务运行在每一台docker host上的,通过http协议传输rpc风格的json数据完成通信

  • plugin的启动和停止,并不归docker管理,docker daemon依靠在缺省路径下查找unix socket文件,自动发现可用的插件

  • 当客户端与daemon交互,使用插件创建数据卷时,daemon会在后端找到插件对应socker文件,建立连接并发起相应的api请求,最后结合daemon自身的处理完成客户端的请求

convoy卷插件

convoy卷插件实现:

  • 支持3种运行方式:devicemapper,NFS,EBS
  • 以下实验使用nfs方式
  • 下载软件:https://github.com/rancher/convoy/releases/download/v0.5.2/convoy.tar.gz
  • 在所有节点提前挂载nfs储存

convoy卷插件安装:
在这里插入图片描述showmount -e 查看server6上可挂载的文件夹
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在两个主机上同时运行容器,会发现数据目录中的数据时同步的

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

删除卷插件、还原

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值