新建数据卷容器
新建一个专门用来存放数据的容器,名为db_data,并设置挂载卷db_data,这个是存放数据的文件夹
docker run -it -d --name db_data -v /db_data ubuntu:14.04
用容器db1测试数据卷容器是否可用
docker run -it -d --name db1 --volumes-from db_data ubuntu:14.04
docker exec -it db1 bash
cd db_data
echo "db1 beifen test" > db1_test.txt
db1启动后,由于volumes-from了db_data,所以在根目录下也会生成1个db_data文件夹,在此文件夹下新建1个db1_test.txt文件
docker exec -it db_data bash
cd db_data
ls
此时在db_data容器下,发现也已经存在了db1_test.txt,说明数据存储成功
备份数据卷容器
docker run --rm --name beifen --volumes-from db_data -v host_backup_path:/container_backup ubuntu:14.04 tar cvf /container_backup/backup.tar /db_data
新建1个名为beifen的(暂时性,之后会删除)容器,由于volumes-from了db_data,所以在根目录下也会生成1个db_data文件夹,经过执行命令后,将db_data文件下的数据压缩在container_backup文件夹下,并存在宿主机上的host_backup_path下
还原数据卷容器
新建一个数据卷容器db_data2
docker run -it -d --name db_data2 -v /db_data ubuntu:14.04
新建1个名为huanyuan的(暂时性,之后会删除)容器,由于volumes-from了db_data2,所以在根目录下也会生成1个db_data文件夹,宿主机上的host_backup_path下的压缩数据映射到了container_backup文件夹下,并解压至db_data文件夹下
docker run --rm --name huanyuan --volumes-from db_data2 -v ~/host_backup:/container_backup ubuntu:14.04 tar xvf /container_backup/backup.tar -C /db_data
此时查看db_data2容器,发现db_data文件下也已经有了同步来的数据