一、备份
使用下面命令来备份dbdata数据卷容器内的数据卷:
$ docker run --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu tar cvf /backup/backup.tar /dbdata
分析:
首先利用ubuntu镜像创建一个容器worker;
使用--volumes-from dbdata参数来让worker容器挂载dbdata容器的数据卷(即dbdata数据卷);
使用-v $(pwd):/backup参数来挂载本地的当前目录到worker容器的/backup目录;
worker容器启动后,使用tar cvf /backup/backup.tar /dbdata命令将/dbdata下内容备份为容器内的backup.tar;
二、恢复
将数据恢复到一个容器,按照下面步骤:
- 创建一个带有数据卷的容器dbdata2
$ docker run -v /dbdata --name dbdata2 ubuntu /bin/bash
- 创建另外一个新的容器,挂载dbdata2容器,并使用untar解压备份文件到锁挂在的容器卷中:
$ docker run --volumes-from dbdata2 -v ${pwd}:/backup busybox tar xvf /backup/backup.tar