Docker(七)--docker容器的卷管理和卷插件

   日期:2024-12-26    作者:tuizu 移动:http://ljhr2012.riyuangf.com/mobile/quote/55854.html

docker数据卷

Docker(七)--docker容器的卷管理和卷插件

  • 数据卷是目录或文件,不是块设备。
  • 容器可以读写volume中的数据。
  • volume数据可以持久化保存。

docker提供了两种卷

  • bind mount
  • docker managed volume

1.bind mount

 

3.以只读模式挂载

 
 

优点:bind mount必须指定host文件系统路径,限制了移植性。;docker managed volume 不需要指定mount源。

1.不指定mount源挂载

 
 

2.进入docker卷挂载的目录下,访问本地发现可以访问

 
 
 
 

1.卷插件概念

1.docker 卷默认使用的是local类型的驱动,只能存在宿主机,
跨主机的volume就需要使用第三方的驱动,可以查看一链接:https://docs.docker.com/engine/extend/legacy_plugins/#volume-plugins
2.docker官方只提供了卷插件的api,开发者可以根据实际需求
定制卷插件驱动。https://docs.docker.com/engine/extend/plugins_volume/#volume-plugin-protocol

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

2.卷插件的使用

convoy卷插件实现
(1)支持三种运行方式:devicemapper、NFS、EBS。
(2)以下实验使用nfs方式。
(3)下载软件:
https://github.com/rancher/convoy/releases/download/v0.5.0/convoy.tar.gz
(4)在所有节点提前挂载NFS存储。

搭建nfs文件系统
1.在server1中搭建nfs文件系统

 
 
 
 
 

1.删除创建的容器

 
 
 

3.创建docker的卷插件目录并将convoy守护进程开启生成的.sock文件放入/etc/docker/plugins目录下的convoy.spec文件中,docker就可以识别。(其中convoy.spec文件之前是不存在的)

 

4.第一次运行convoy daemon命令的时候,会在/mnt/nfs目录下生成一个config文件夹,这个文件夹不要删除,不然客户端的convoy命令就会用不了

 
 
 
 
 
 
 
 

卷的操作

1.列出卷的信息

 

2.创建容器挂载到server1的共享目录下

 
 
 

5.server2也创建一个容器并挂载到vol1上

 

6.进入data目录删除文件

 

7.server1端可以同步看到效果

 
 
 

删除卷快照

 

关闭convoy守护进程


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号