docker容器內的數據存放在哪里


  參考資料:

  https://cloud.tencent.com/developer/article/1644756

  感謝這篇文章的作者無私地將知識post出來!希望有時間的朋友去參考資料處閱讀全文。

  我們知道在docker的體系架構下,有容器、鏡像的概念。鏡像偏靜態,容器是鏡像的實例化,偏動態。如果我們想讓容器和宿主機共享一個文件夾,那么可以使用-v參數作一個volume映射。但是,一個普遍的認知是,如果容器壞掉(start不了)那么容器里面的東西就會完全丟失掉。但是仔細一想,在容器的每次stop,start里,都保持了文件系統的一致性,也就說docker容器內除了掛載volumes之外,一定是在宿主機上保留了一份文件的。那么在容器沒有辦法打開的情況下,如何從宿主機去找到容器內的文件並取出來呢?

  就拿我遇到的具體問題來說吧,因為修改了容器內的一個配置文件導致容器沒有辦法start。你可以依以下步驟尋找容器內的文件。

  1. docker inspect

  通過 docker inspect + 容器名/ID 來查看容器的信息,我們需要找到的字段是:GraphDriver

  我們需要關注這里的UpperDir,使用ls命令看看這個文件夾里有什么吧,你會有驚喜的哦~

  2. 找自己需要的文件吧~

   這不就是容器進去后的根目錄嘛~找自己需要文件即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM