Convoy--Docker NFS volume plugin 简明使用指南

介绍

https://github.com/rancher/convoy

A Docker volume plugin, managing persistent container volumes.

安装步骤

两个注意事项:

  • 以下步骤需要在所有Docker swarm节点上都做一遍,也可以使用这位三哥的自动化脚本:https://gist.github.com/pi0/55d1cfee4d201ffcd125441c8e56c841

  • 还有个前提条件:NFS也需要在每个节点都提前挂载好

1. 下载安装

$ wget https://github.com/rancher/convoy/releases/download/v0.5.0/convoy.tar.gz
tar xvf convoy.tar.gz
$ sudo cp convoy/convoy convoy/convoy-pdata_tools /usr/local/bin/

设置Docker的卷插件

$ sudo mkdir -p /etc/docker/plugins/
$ sudo bash -c 'echo "unix:///var/run/convoy/convoy.sock" > /etc/docker/plugins/convoy.spec'

2. 启动Daemon

$ sudo mkdir -p /mnt/nfs
$ sudo mount -t nfs 172.16.36.**:/home/erick/nfs /mnt/nfs

启动Convoy守护程序:

$ sudo convoy daemon --drivers vfs --driver-opts vfs.path=/mnt/nfs

使用

1. 创建、删除卷

$ sudo convoy create 
$ sudo convoy delete 

2. 查看卷

sudo convoy list
sudo convoy inspect 

3. 对卷做快照

sudo convoy snapshot create vol1 --name snap1vol1
sudo convoy snapshot delete snap1vol1

4. 对镜像进行备份

sudo convoy backup create snap1vol1 --dest vfs:///opt/backup/

5. 还原备份

sudo convoy create res1 --backup 

6. 使用卷

看了这么多,最终目的其实就是下面这一条,使用基于NFS的卷挂载docker存储,使集群的其他机器都使用同一个后端NFS存储,实现需要数据持久化容器的动态迁移。

$ docker run --name mongo -it -p 27017:27017 -v vol1:/data/db --volume-driver=convoy mongo:3

你可能感兴趣的:(Convoy--Docker NFS volume plugin 简明使用指南)