Docker的那些事儿—Docker卷数据恢复或迁移(33)


上一篇:Docker的那些事儿—Docker卷数据备份(32)


备份数据包有了后,就可以来恢复或迁移数据了。

恢复卷数据到原容器

为了演示数据缺失可以恢复,我们先将mysql容器内上一节新增的database删除掉。

Docker的那些事儿—Docker卷数据恢复或迁移(33)_第1张图片

下面开始恢复数据库数据

docker run -it --rm --volumes-from mysql -v$(pwd):/backup alpine tar zxvf /backup/backup.tar.gz -C /

Docker的那些事儿—Docker卷数据恢复或迁移(33)_第2张图片

恢复后

Docker的那些事儿—Docker卷数据恢复或迁移(33)_第3张图片

可见,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 /

Docker的那些事儿—Docker卷数据恢复或迁移(33)_第4张图片
Docker的那些事儿—Docker卷数据恢复或迁移(33)_第5张图片

新的mysql1容器也包含了备份包数据。

至此,Docker中卷数据的备份、恢复或迁移均完成。



下一篇:Docker的那些事儿—Docker跨主机数据(34)



Docker的那些事儿—Docker卷数据恢复或迁移(33)_第6张图片

你可能感兴趣的:(Docker的那些事儿—Docker卷数据恢复或迁移(33))