上一篇:Docker的那些事儿—Docker卷数据备份(32)
备份数据包有了后,就可以来恢复或迁移数据了。
恢复卷数据到原容器
为了演示数据缺失可以恢复,我们先将mysql容器内上一节新增的database删除掉。
下面开始恢复数据库数据
docker run -it --rm --volumes-from mysql -v$(pwd):/backup alpine tar zxvf /backup/backup.tar.gz -C /
恢复后
可见,docker_data数据库和table1表均恢复了。
注意:执行恢复动作前,需要先将原来的mysql容器stop掉,不然可能会出现table1表数据报错。
将卷数据迁移到新的容器
创建新的容器mysql1
docker run -itd --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -p 3308:3306 -v mysql_data1:/var/lib/mysql mysql
将数据迁移到mysql1
docker run -it --rm --volumes-from mysql1-v $(pwd):/backup alpine tar zxvf /backup/backup.tar.gz -C /
新的mysql1容器也包含了备份包数据。
至此,Docker中卷数据的备份、恢复或迁移均完成。
下一篇:Docker的那些事儿—Docker跨主机数据(34)