docker备份、恢复及迁移数据卷

docker备份、恢复及迁移数据卷

一、docker容器数据卷的备份

原文地址

http://www.cnblogs.com/kevingrace/p/6238195.html

示例:

容器dbdata中/ volume是数据卷目录,现在需要备份该目录下的数据。
可以这样做:docker run --rm --volumes-from dbdata -v $(pwd):/backup centos-zdx tar cvf /backup/backup1.tar /volume。
此命令是为了利用数据卷容器备份,使用–volumes-from标记来创建一个加载dbdata容器卷的容器,并从主机挂载当前目录到容器的/backup目录。并备份volume卷中的数据(将 /volume目录打包成/backup目录下的backup1.tar文件,由于/backup目录是被宿主机当前目录挂载的,所以宿主机当前目录就会有backup1.tar文件),执行完成之后删除容器–rm,此时备份就在宿主机当前的目录下了。

二、数据卷恢复及迁移数据卷

示例:

宿主机当前目录有backup1.tar文件,现将dbdata中/ volume的数据删除,如要恢复数据需要做一下动作:docker run --rm --volumes-from dbdata -v $(pwd):/backup centos-zdx tar xvf /backup/backup1.tar -C /

此命令解析:

run出来的新容器/backup挂载了宿主机当前目录,同时挂载了dbdata数据卷容器。因为宿主机当前中有之前备份好的backup1.tar文件,所以新run出的容器/backup中也有backup1.tar文件,解压这个备份文件 –C是指定解压位置的符号,解压到新容器的/目录下,所以新容器的/目录下就会得到volume文件夹,又由于/volume是挂载dbdata数据卷容器的目录,所以会同步到dbdata容器,这样就将dbdata中/volume删除的数据恢复回来了。

你可能感兴趣的:(Docker相关)