要求:備份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
2、恢復數據
說明:先新建一個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