3.4备份和恢复数据卷
3.4.1备份数据卷容器的数据
docker run --volumes-from volume -v $(pwd):/backup --name=backup centos:1.0 tar -cvf /backup/volumebak.tar /volume1
原理:
- 创建一个名为backup的容器,并挂载数据卷容器volume中的数据卷(--volumes-from volume),同时将宿主机的当前目录挂载到backup容器的/backup(-v $(pwd):/backup);
2)启动容器后,将数据卷容器volume中的数据卷”volume1”目录打包到容器的/backup/volumebak.tar(tar -cvf /backup/volumebak.tar /volume1)
3)容器backup的/backup目录,就是挂载的宿主机上的当前目录,因此,在宿主机的当前目录下,会出现一个volumebak.tar的备份文件。
3.4.2恢复数据卷容器的数据
先将数据卷容器的数据删除(模拟数据丢失)。
数据卷中的数据已经没有了。
docker run --name=restory --volumes-from volume -v $(pwd):/restory centos:1.0 tar -xvf /restory/volumebak.tar -C /
原理:
- 创建一个名为restory的容器(--name=restory),并挂载volume中的数据卷(--volumes-from volume),同时将宿主机的当前目录,挂载到容器restory的/restory;
2)将备份文件volumebak.tar解压到根目录下(tar -xvf /restory/volumebak.tar -C /)。
此时,文件已经恢复。