1. 程式人生 > >Docker 數據管理

Docker 數據管理

cnblogs 維護 讀寫 應用 web 影響 .com 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 數據管理