docker volume

Docker Volume

Docker提出的Volume的概念,簡單來說,volume就是目錄或者文件,它可以繞過默認的聯合文件系統,而已正常的文件或目錄的形式存在宿主機上。實現持久化的數據保存。

Docker中,只讀層在頂部的讀寫層的組合稱爲union  File System(聯合文件系統)

Volume 可以將容器以及容器產生的數據隔離開,當你是使用docker  rm

刪除容器時,不會影響相關的數據。

 

Docker管理數據的兩種方式:數據卷

                         數據卷容器

 

數據卷 :實現數據的持久存儲。

       :實現在多個容器中共享數據。

 

 

數據卷的使用,類似於linux下對目錄進行mount,你想在容器中使用宿主機上的目錄,(即把宿主機上的文件或目錄掛載給容器)可以通過-v 來指定

例如 Docker  run  -v  /host/path:/some/path(可以使用多次-v 選項爲一個容器掛載多個本地主機目錄)

  注意:冒號前是宿主機目錄,冒號後是容器中的掛載點(宿主機的路徑和容器中的掛載點都可以不存在,目錄將自動在給定的路徑中創建)

掛載當前主機的一個目錄到容器中


1 創建一個Web容器,並加載一個宿主機目錄到容器的/var/www/html/目錄下(在宿主機上創建/web/webapp目錄,並創建一個indexx.html文件)

wKioL1kkPdqx1D0WAABs-i44oNk672.png-wh_50 

 

2 查看鏡像,並使用鏡像創建容器(加載主機的/web/webapp目錄到容器的/var/www/html/目錄下)


wKioL1kkPtSQm2kgAABU7X4ccz4639.png-wh_50



wKioL1kkQQvTrSTRAABRxjQDpcs031.png-wh_50


  

wKiom1kkPtWTXyOnAAA63kNPcdk303.png-wh_50 

 

 

 

3 查看掛載的目錄 


wKiom1kkQTSDcVBVAAAfSyift8Q518.png-wh_50




wKiom1kkPtWy6vb7AACie6FXIbA060.png-wh_50 

4 在瀏覽其中,使用宿主機的IP和端口號,訪問

wKiom1kkPtbi-HhhAAAh9c0CVdE228.png-wh_50 

 

添加一個或多個數據卷

1 創建一個數據卷(它們告訴Docker在主機上創建一個目錄,默認情況下是在/var/lib/docker/volumes下,然後將其掛載到指定的路徑下)

創建數據卷綁定到新建容器,新建容器中會創建/data數據卷

 

 

wKiom1kkQZXABNEmAAB8F1dt6VM736.png-wh_50 

2 進入容器,查看給容器添加的數據卷(使用Ctrl -p ctrl -q 退出容器)

wKiom1kkQaSSq03KAADcF6heQUY686.png-wh_50 

   3 查看獲取的主機對應路徑(說明docker把/var/lib/docker下的某個目錄掛載到了容器的/data目錄下)

 

    wKioL1kkQbSRuQuSAAArXZ9_xHA352.png-wh_50 


 

    wKiom1kkQcXgAn9eAACYzGkYY7E131.png-wh_50 

4 在宿主機上添加文件到此文件夾下

wKioL1kkQg3zBGWUAABgE5x2nVI984.png-wh_50 

 

wKioL1kkQiqjTdqfAACXmXKpkXI172.png-wh_50 

 

Docker掛載數據卷的默認權限是讀寫,用戶可以通過:ro指定爲只讀

wKiom1kkQkPy-0LYAABJMRrUlgg909.png-wh_50 

 

數據卷容器

如果授權一個容器訪問另一個容器的volume,我們可以使用volume-from

1 創建一個命名的數據卷容器


wKioL1kkQqPxwJ_iAABSdjp-Q3Y457.png-wh_50


 

2 然後,可以在其他容器中使用volumes-from 來掛載/test卷

wKiom1kkQnKx2nETAACE8fGIkB8101.png-wh_50 

 

wKiom1kkQsHzrtr6AADUF85tptY748.png-wh_50 

3 進入test1 test2 test3容器,執行df查看

wKiom1kkQt6gGk_EAAC3fXt7eE4532.png-wh_50 

 

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章