Docker的那些事兒—Docker卷資料恢復或遷移(33)

weixin_34353714發表於2018-03-23

上一篇:Docker的那些事兒—Docker卷資料備份(32)


備份資料包有了後,就可以來恢復或遷移資料了。

恢復卷資料到原容器

為了演示資料缺失可以恢復,我們先將mysql容器內上一節新增的database刪除掉。

10839544-e00aec948d8491d8.png

下面開始恢復資料庫資料

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

10839544-b9b56b71eeb98263.png

恢復後

10839544-bec9d02c5495a336.png

可見,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

10839544-ec5e7c7d09246c29.png

將資料遷移到mysql1

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

10839544-d2fe304e8194491a.png
10839544-d7fdd1aefb08aba7.png

新的mysql1容器也包含了備份包資料。

至此,Docker中卷資料的備份、恢復或遷移均完成。



下一篇:Docker的那些事兒—Docker跨主機資料(34)



10839544-f968b0e59e5e8134.png

相關文章