Docker数据卷的管理(bind mount ; docker managed volume);convoy卷插件的安装,使用

   日期:2024-12-26    作者:ghd5g 移动:http://oml01z.riyuangf.com/mobile/quote/53500.html

Docker数据卷的管理(bind mount ; docker managed volume);convoy卷插件的安装,使用

为什么要用数据卷
docker分层文件系统
性能差
生命周期与容器相同
docker数据卷
绕开分层文件系统


docker提供了两种卷
bind mount
docker managed volume

bind mount必须指定host文件系统路径,限制了移植性

使用 -v 选项指定路径,格式

docker run -d --name web -v :
/usr/share/nginx是nginx的默认发布目录

bind mount 默认权限是读写rw,可以在挂载时指定只读ro。

不需要指定mount源,docker自动为容器创建数据卷目录

都在 中。

docker run -d --name web1 -p 80:80 -v /usr/share/nginx/html nginx

指定数据目录

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

对比bind mountdocker managed volumevolume 位置可任意指定/var/lib/docker/volumes…对已有mount point 影响隐藏并替换为volume原有数据复制到volume是否支持单个文件支持不支持,只能是目录权限控制可设置为只读,默认为读写权限无控制,均为读写权限移植性移植性弱,与host path 绑定移植性强,无需指定host 目录

docker 卷默认使用的是local类型的驱动,只能存在宿主机,跨主机的volume就需要使用第三方的驱动
可以查看以下链接:
https://docs.docker.com/engine/extend/legacy_plugins/#volume-plugins

docker官方只提供了卷插件的api,开发者可以根据实际需求定制卷插件驱动。

https://docs.docker.com/engine/extend/plugins_volume/#volume-plugin-protocol

是以Web Service的服务运行在每一台Docker Host上的,通过HTTP协议传输RPC风格的JSON数据完成通信。
Plugin的启动和停止,并不归Docker管理,自动发现可用的插件。
Daemon会最终结合Daemon自身的处理完成客户端的请求。

convoy卷插件实现
支持三种运行方式:devicemapper、NFS、EBS。
以下实验使用nfs方式。
下载软件
https://github.com/rancher/convoy/releases/download/v0.5.0/
convoy.tar.gz

在所有节点提前挂载NFS存储。

server1 (服务端)

server2测试

server1 和 server2中都要如下操作


可以在两个主机上同时运行容器,会发现数据目录中的数据是同步的。


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


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