Linux之Docker数据卷

本文详细介绍了Docker数据卷的作用、类型及其优缺点,包括bind mount和docker managed volume。同时,讨论了卷插件,特别是Convoy,如何实现跨主机的数据卷共享,以及其在NFS、EBS等存储方式下的应用。文章还提供了详细的步骤指导,从创建卷到安装和测试卷插件,帮助读者理解和实践Docker数据卷管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、docker数据卷

1. 为什么要用数据卷

docker分层文件系统:性能差、生命周期与容器相同

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

2. docker提供了两种卷:bind mount和docker managed volume

  • bind mount:是将主机上的目录或文件mount到容器里,使用直观高效,易于理解,使用 -v 选项指定路径,格式 <host path>:<container path>如果不存在,挂载时会自动创建;bind mount 默认权限是读写rw,可以在挂载时指定只读ro
  • docker managed volume:不需要指定mount源,docker自动为容器创建数据卷目录,默认创建的数据卷目录都在 /var/lib/docker/volumes 中,如果挂载时指向容器内已有的目录,原有数据会被复制到volume中。

3. bind mount与docker managed volume对比

相同点:两者都是 host 文件系统中的某个路径。

不同点:

4. 卷插件介绍

docker 卷默认使用的是local类型的驱动,只能存在宿主机,跨主机的volume就需要使用第三方的驱动,docker官方只提供了卷插件的api,开发者可以根据实际需求定制卷插件驱动。

Docker Plugin 是以Web Service的服务运行在每一台Docker Host上的,通过HTTP协议传输RPC风格的JSON数据完成通信。Plugin的启动和停止,并不归Docker管理,Docker Daemon依靠在缺省路径下查找Unix Socket文件,自动发现可用的插件。当客户端与Daemon交互,使用插件创建数据卷时,Daemon会在后端找到插件对应的 socket 文件,建立连接并发起相应的API请求,最终结合Daemon自身的处理完成客户端的请求。

5. convoy持三种运行方式:dev

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值