docker卷插件--convoy
0、前言 前面我们已经介绍过 docker卷(Volume)了,再介绍docker的卷插件会不会有点重复。其实是有必要的,因为docker卷存在一点局限,那么就是卷只能是存在于宿主机上,我们可以创建卷,但只是局限于宿主机,所以docker也知道,所以docker提供了卷插件的api,自己却不实现,在我知道的实现docker卷插件有flocker、convoy这两个插件,其中folcker插件
0、前言
前面我们已经介绍过 docker卷(Volume)了,再介绍docker的卷插件会不会有点重复。其实是有必要的,因为docker卷存在一点局限,那么就是卷只能是存在于宿主机上,我们可以创建卷,但只是局限于宿主机,所以docker也知道,所以docker提供了卷插件的api,自己却不实现,在我知道的实现docker卷插件有flocker、convoy这两个插件,其中folcker插件有点诱人:
但是呢遗憾的是,安装上,墙很高,文档呢,github找的比较好。
所以找到了convoy插件,其中其运行方式有三种devicemapper、NFS、EBS。devicemapper是一种设备文件,不太熟悉,弃用,NFS是网络文件系统,说白了就是一种文件共享,一开始不知道是什么,待定,EBS呢,看到AWS字样,我还是弃用吧,最后我选择了NFS,因为这只是一个普通的Linux技术,门槛不高,具体请看Linux nfs安装,安装完再使用即可。
convoy的二进制文件的压缩包在aws上,所以很难,下载下来,这里提供一个链接以供下载convoy.tar.gz,版本是5.0
1、安装环境
1.1安装NFS
请看帖子Linux nfs安装
1.2安装convoy
下载地址:convoy.tar.gz
tar xvf convoy.tar.gz
sudo cp convoy/convoy convoy/convoy-pdata_tools /usr/local/bin/
解压,并讲二进制文件复制到PATH路径下
设置Docker的卷插件:
sudo mkdir -p /etc/docker/plugins/
sudo bash -c 'echo "unix:///var/run/convoy/convoy.sock" > /etc/docker/plugins/convoy.spec'
2、启动Daemon
2.1、挂载NFS到本地
sudo mkdir -p /mnt/nfs
sudo mount -t nfs ip_or_domain:/opt/nfs /mnt/nfs
2.2、启动Convoy守护进程
convoy daemon --drivers vfs --driver-opts vfs.path=/mnt/nfs&
然后ctrl+c
停止守护进程:
ps -ef|grep convoy
看到第二个字段数字
kill -9 xxxx
这是因为convoy没有提供停止守护进程的功能
重要提醒:第一次运行上面的convoy daemon命令的时候,会生成一个config文件夹,这个文件夹不要删除,不然客户端的convoy命令就会用不了
3、操作卷
3.1、创建convoy卷实例
convoy create convoy_vol1
会生成一个同名文件夹,在这个卷同名的文件夹创建文件等,等同于操作卷里面的内容。
创建卷快照:
convoy snapshot create convoy_vol1 --name convoy_vil1_s
–name前面的是卷名
加个–name起个名字,不然会是数字
3.2、查询卷
列出全部convoy卷:
convoy list
列出某个convoy卷
convoy inspect convoy_vol1
3.3、备份卷
convoy backup create convoy_vil1_s --dest vfs:///mnt/nfs/
这里返回的url:vfs:///mnt/nfs/?backup=backup-232452f2b6ae4156\u0026volume=convoy_vol1
这条命令不知道对错,主要是vfs:///mnt/nfs/这段,我不太确定。
3.4、还原卷
convoy create convoy_vol1_s_restore --backup vfs:///mnt/nfs/?backup=backup-232452f2b6ae4156\u0026volume=convoy_vol1
可以看出备份和删除是基于快照的。
3.5、删除快照和删除卷
删除快照:
convoy snapshot delete convoy_vol1_s
删除卷:
convoy delete convoy_vol1_s_restore
4、使用卷
docker run --name ubuntu -dit -v convoy_vol1:/data --volume-driver=convoy ubuntu /bin/bash
可以看到功劳全在NFS,但是功能的不得不说丰富了,就是快照和备份恢复功能。
更多推荐
所有评论(0)