項目測試環(huán)境數據庫數據丟失,特此記錄一下。當時(shí)是用 docker 安裝的,以為臨時(shí)使用一段時(shí)間,也沒(méi)有持久化。突然前天 docker 日志滿(mǎn)了,同事想著(zhù)去清理日志,使用了如下命令:
docker system prune
結果當時(shí) MySQL 容器當時(shí)正常處于停止狀態(tài),結果容器一下子就被干掉了,我們備份的數據還是三月份的,這下糟糕了。然后各種研究開(kāi)始恢復。
然后我就去官方文檔去研究這個(gè)命令是干什么的,上面用到的 docker system prune
意思是:
Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.
刪除所有未使用的容器、網(wǎng)絡(luò )、圖像(懸空和未引用的圖像)以及卷(可選)。
By default, volumes are not removed to prevent important data from being deleted if there is currently no container using the volume. Use the
--volumes
flag when running the command to prune volumes as well:默認情況下,如果當前沒(méi)有使用卷的容器,則不會(huì )刪除卷以防止刪除重要數據。運行命令時(shí)也可以使用
--volumes
標志來(lái)修剪卷:
這下心放下了一半,還好數據卷沒(méi)有被刪除,我們可以利用數據卷可以進(jìn)行恢復數據。接下來(lái)記錄下我的恢復方案吧。
數據卷目錄在 /var/lib/docker/volumes
下,每個(gè)容器都會(huì )在該目錄下有一個(gè)文件夾,如果容器還存在的話(huà),我們可以使用 docker inspect 容器ID
去查看 數據卷位置,這下容器被刪除了,可怎么辦,只能挨個(gè)去找了,一般 MySQL 容器數據卷目錄下會(huì )有一個(gè) _data
目錄,該目錄下會(huì )顯示你每個(gè)數據庫的文件夾,最終找到了。
這個(gè) cxhello
就是我們的測試庫,現在我們就可以恢復數據了。
使用 docker volume create 數據卷名字
命令新建一個(gè)數據卷,docker volume ls
查看數據卷列表
注意:使用數據卷進(jìn)行掛載的時(shí)候,數據卷必須是一個(gè)空的目錄,也就是說(shuō)不能有任何數據。
然后創(chuàng )建容器
docker run -d -p 3309:3306 -v mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name huifu mysql:5.7
在恢復數據之前需要把剛剛建立的數據卷里面關(guān)聯(lián)的內容刪除掉,然后把之前的數據卷內容復制到現在的數據卷進(jìn)行數據恢復。
cd /var/lib/docker/volumes/mysqldata/_data/ rm -f * rm -f -R *
復制內容到數據卷
cd /var/lib/docker/volumes/1db16a9dfdf3442b117ebc2ec11df5df4db717cfd567c77fa0a49905a9652fa0/_data/ cp -R * /var/lib/docker/volumes/mysqldata/_data/
至此數據庫數據恢復完成,進(jìn)入恢復的容器查看
到此這篇關(guān)于如何恢復docker容器數據 的文章就介紹到這了,更多相關(guān)docker容器數據恢復內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站