有些容器會自動產(chǎn)生一些數(shù)據(jù),為了不讓數(shù)據(jù)隨著container的消失而消失,保證數(shù)據(jù)的安全性。例如:數(shù)據(jù)庫容器,數(shù)據(jù)表的表會產(chǎn)生一些數(shù)據(jù),如果我把container給刪除,數(shù)據(jù)就丟失。為了保證數(shù)據(jù)不丟失,這就有了Volume的存在。
Data Volume 結構圖
Docker持久化數(shù)據(jù)的方案
Volume的類型
受管理的data Volume,由docker后臺自動創(chuàng)建。
綁定掛載的Volume,具體掛載位置可以由用戶指定。
數(shù)據(jù)持久化之Data Volume
以官方鏡像mysql的dockerfile文件為例 。其中dockerfile通過volume指定了當前容器中要備份的文件路徑,但是并沒有指定說要保存到宿主機的哪個位置。
volume:映射容器中的文件到本地宿主機硬盤中
docker run
啟動mysql鏡像容器的時候,容器會默認在宿主機生成一個volume,至于位置在哪,名字是什么,可以通過如下命令查看
#查看所有volume docker volume ls #刪除指定volume docker volume rm [volume name] #查看volume詳細 docker volume inspect [volume name]