上一篇:Docker的那些事兒—Docker卷數(shù)據(jù)備份(32)
備份數(shù)據(jù)包有了后昔头,就可以來恢復(fù)或遷移數(shù)據(jù)了饼问。
恢復(fù)卷數(shù)據(jù)到原容器
為了演示數(shù)據(jù)缺失可以恢復(fù)莱革,我們先將mysql容器內(nèi)上一節(jié)新增的database刪除掉盅视。
下面開始恢復(fù)數(shù)據(jù)庫數(shù)據(jù)
docker run -it --rm --volumes-from mysql -v$(pwd):/backup alpine tar zxvf /backup/backup.tar.gz -C /
恢復(fù)后
可見纸型,docker_data數(shù)據(jù)庫和table1表均恢復(fù)了狰腌。
注意:執(zhí)行恢復(fù)動(dòng)作前琼腔,需要先將原來的mysql容器stop掉,不然可能會出現(xiàn)table1表數(shù)據(jù)報(bào)錯(cuò)光坝。
將卷數(shù)據(jù)遷移到新的容器
創(chuàng)建新的容器mysql1
docker run -itd --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -p 3308:3306 -v mysql_data1:/var/lib/mysql mysql
將數(shù)據(jù)遷移到mysql1
docker run -it --rm --volumes-from mysql1-v $(pwd):/backup alpine tar zxvf /backup/backup.tar.gz -C /
新的mysql1容器也包含了備份包數(shù)據(jù)洲赵。
至此叠萍,Docker中卷數(shù)據(jù)的備份苛谷、恢復(fù)或遷移均完成。
下一篇:Docker的那些事兒—Docker跨主機(jī)數(shù)據(jù)(34)