docker-数据管理的备份与恢复

一、数据备份
 
备份示例如下:
 
要求:备份nfs数据卷里的data目录里的test-nfs.txt文件到宿主机/data/backup目录下
语法:docker run --volumes -from 【数据卷名称】 -v /【宿主机路径】/:/【容器路径】 【镜像】
说明:首先我们需要使用nfs数据卷新开一个容器并挂载,同时我们还需要把本地的/data/backup目录挂载到该容器的/backup下,这样在容器中/backup目录里面新建的文件,我们就可以直接在/data/backup/目录中看到了。 然后再把/data/目录下面的文件打包到成data.tar文件放到/backup目录下面
 
1:查看nfs数据卷容器是否启动
[root@host1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
45c637895e7a centos "bash" 2 days ago Up 2 days nfs
 
2:执行备份nfs数据卷的data目录
[root@host1 ~]# docker run --volumes-from nfs -v /data/backup/:/backup centos tar cvf /backup/data.tar data
data/
data/test-nfs.txt
 
3:查看是否备份成功
[root@host1 ~]# cd /data/backup/
[root@host1 backup]# tar xvf data.tar
data/
data/test-nfs.txt
[root@host1 backup]# ls
data data.tar
[root@host1 backup]# cd data
[root@host1 data]# ls
test-nfs.txt
 
 
二、恢复数据
说明:先新建一个nfs2数据卷容器,再建一个新的容器并挂载nfs2数据卷容器,然后再把tar包解包,完成恢复数据操作!
 
1: 新建nfs2数据卷容器
[root@host1 data]# docker run -itd -v /data/ --name nfs2 centos bash
7b09a70be336b60126c3dbc747a9689ce1bb224ef93f5c2e257dbd19771f3c18
[root@host1 data]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7b09a70be336 centos "bash" 4 seconds ago Up 3 seconds nfs2
45c637895e7a centos "bash" 2 days ago Up 2 days nfs
 
2:恢复数据到nfs2容器
[root@host1 data]# docker run --volumes-from nfs2 -v /data/backup/:/backup centos tar xf /backup/data.tar
 
3:查看是否恢复成功
[root@host1 data]# docker exec -it 7b09a7 bash
[root@7b09a70be336 ~]# ls /data/
test-nfs.txt
原文地址:https://www.cnblogs.com/douyi/p/11573755.html