1、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
2、Docker Plugin 是以Web Service的服务运行在每一台Docker Host上的,通过HTTP协议传输RPC风格的JSON数据完成通信。 Plugin的启动和停止,并不归Docker管理,Docker Daemon依靠在缺省路径下查找Unix Socket文件,自动发现可用的插件。 当客户端与Daemon交互,使用插件创建数据卷时,Daemon会在后端找到插件对应的 socket 文件,建立连接并发起相应的API请求,最终结合Daemon自身的处理完成客户端的请求。
convoy卷插件子命令
convoy list 列出卷 convoy delete 删除卷 convoy snapshot create 创建快照
convoy snapshot delete 删除快照 convoy backup create 创建备份
convoy create res1 --backup <url> 还原备份
3、convoy卷插件实现 支持三种运行方式:devicemapper、NFS、EBS。
以下实验使用nfs方式。 下载软件: https://github.com/rancher/convoy/releases/download/v0.5.0/ convoy.tar.gz 在所有节点提前挂载NFS存储。
本次实验需两台虚拟机 实验开始之前清理实验环境server1和server2