基於本地文件系統的Volume:能夠在執行docker create或docker run時,經過-v參數將主機的目錄做爲容器的數據卷。這部分功能即是基於本地文件系統的volume管理。
基於plugin的Volume:支持第三方的存儲方案,好比NAS,awsmysql
1.Volume的類型算法
受管理的data Volume,由docker後臺自動建立
綁定掛載的Volume,具體掛載位置能夠由用戶指定sql
注意:mysql的Dockerfile中由VOLUME ["/var/lib/mysql"]指定了持久化的路徑,此路徑是要被持久化的路徑,默認volume的名稱爲local
執行docker
sudo docker run -d -v mysql:/var/lib/mysql --name mysql1 -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql
啓用一個mysql的image容器,其中-v後跟的mysql表示volume別名,冒號後面的路徑爲volume本地存儲的地址
查看sudo docker volume ls查看docker的volume,會發現自動生成了一個volume
經過sudo docker volume inspect volume的NAME值查看對應volume的詳情信息
若是但願刪除volume,則能夠使用sudo docker volume rm volumeNAMEoop
在這裏向你們推薦一個資料分享羣:916683284,裏面有大數據離線處理、數據實時處理、Hadoop 、Spark、推薦系統算法等內容的資料分享,若是有興趣的朋友能夠加入領取。大數據
2.恢復volume數據spa
上述操做後會將數據存儲到/var/lib/mysql中,咱們能夠對container中的mysql數據進行增刪改查操做
經過sudo docker rm mysql1移除container
此時查看/var/lib/mysql路徑仍然存儲volume
咱們能夠使用code
sudo docker run -d -v mysql:/var/lib/mysql --name mysql1 -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql
再次開啓一個container,此時的volume會延用以前的數據實現數據的恢復容器
Data Volume須要在Dockerfile中定義要建立的volume
Bind Mounting是在運行時指定本地目錄與容器中目錄的一一對應關係便可後臺
docker run -v /home/aaa:/root/aaa