Docker 數據管理
容器中數據管理有兩種方式:
數據卷: 容器內數據直接映射到本地主機環境
數據卷容器:使用特定容器維護數據卷
數據卷
數據卷可以提供很多有用的特性:
(1)數據卷可以在容器之間共享和重用,容器見傳遞數據將變得高校方便
(2)對數據卷內數據的修改會立馬生效,無論是容器內操作還是本地操作;
(3)對數據卷的更新不會影響鏡像,解耦可應用和數據;
(4)卷會一直存在,直到沒有容器使用,可以安全卸載它
1、在容器內創建一個數據卷
在docker run命令時,使用-v可以在容器內創建一個數據卷,多次重復使用-v可以創建多個數據卷
docker run -d -P --name web -v /webapp training/webapp python app.py
使用training/webapp創建一個web容器,並創建一個數據卷掛載到容器的/webapp目錄
2、掛載一個主機目錄作為數據卷(推薦)
docker run -d -P --name web -v /src/webapp:/opt/webapp training/webapp python app.py
上面的命令加載主機的/src/webapp目錄到容器的/opt/webapp目錄
本地目錄的路徑必須是絕對路徑,如果目錄不存在,docker會自動創建
docker掛在數據卷的默認權限是讀寫(wr),用戶也可以通過ro指定為只讀
docker run -d -P --name web -v /src/webapp:/opt/webapp:ro training/webapp python app.py
3、掛載一個本地主機文件作為數據卷(不推薦)
因為會改變文件的inode,會報錯
數據卷容器
用戶需要在多個容器之間共享一些持續更新的數據。數據卷容器也是一個容器,目的是專門用來提供數據卷共其他容器掛載
利用數據卷容器來遷移數據
Docker 數據管理