資料卷介紹宿主機無法直接訪問容器中的檔案
容器中的檔案沒有持久化,導致容器刪除後,檔案資料也隨之消失
容器之間無法直接訪問相互的檔案
為解決這些問題,docker加入了資料卷(volumes)機制,能很好解決上面問題,以實現:
容器與主機之間,容器與容器之間共享檔案
容器中的資料持久化
將容器中的資料備份,遷移,恢復等
資料卷特點資料卷存在宿主機的檔案系統中,獨立於容器,和容器的生命週期是分離的。
資料卷可以目錄也可以是檔案,容器可以利用資料卷與宿主機進行資料共享,實現了容器間的資料共享和交換
容器啟動初始化時,如果容器使用的映象包含了資料,這些資料會拷貝到資料卷中
容器對資料卷的修改是實時進行的
資料卷的變化不會影響映象的更新。資料卷是獨立於聯合檔案系統,映象是基於聯合檔案系統。映象與資料卷之間不會有相互影響
資料卷的掛載方式(三種)bind mounts:將宿主機上的乙個檔案或目錄被掛載到容器上
volumes:由docker建立和管理。使用docker volume命令管理
tmpfs mounts:tmpfs 是一種基於記憶體的臨時檔案系統。tmpfs mounts 資料不會儲存在磁碟上
bind mounts掛載
利用docker run/create d的引數為容器進行掛載資料卷
用法:方式一
: -v, --volume list
-v 宿主機檔案路徑:容器中的檔案路徑
方式二:
--mount
--mount type=bind, src=
宿主機路徑
, dst=
容器路徑
注意:
src指定的檔案或者路徑必須存在
volumes掛載
利用docker run/create為容器掛載資料卷
用法:方式一:
-v, --volume
引數-v volume-name:
容器中的檔案或者資料夾路徑
方式二:
--mount
引數--mount type=volume, src=volume-name, dst=
容器中的檔案或者資料夾路徑
volume
物件管理:
docker volume
命令管理
volume
資料卷物件
docker volume create
建立資料卷物件
docker volume inspect
檢視資料卷詳細資訊
docker volume ls
檢視已建立的資料卷物件
docker volume prune
刪除未被使用的資料卷物件
docker volume rm
刪除乙個或多個資料卷物件
tmpfs mount掛載
利用docker run/create為容器掛載資料卷
用法:--mount type=tmpfs, dst=path
共享其他容器的資料卷利用docker run/create 的--volumes-from引數指定資料卷容器
用法:docker run/create --volumes-from container
資料卷使用注意項如果掛載乙個空的資料捲到容器中的乙個非空目錄中,那麼這個目錄下的檔案會被複製到資料卷中。
如果掛載乙個非空的資料捲到容器中的乙個目錄中,那麼容器中的目錄中會顯示資料卷中的資料。如果原來容器中的目錄中有資料,那麼這些原始資料會被隱藏掉。
這兩個規則都非常重要,靈活利用第乙個規則可以幫助我們初始化資料卷中的內容。掌握第二個規則可以保證掛載資料卷後的資料總是你期望的結果。
Docker 資料卷管理
建立資料卷 管理資料卷許可權 1.docker run v hostdir guestdir privileges2.卷共享應用,配置,資料等 掛載宿主機檔案 使用資料卷容器共享資料 1.建立資料卷容器 docker create v shiyanloudata name shiyanloudb u...
Docker容器資料管理(資料卷 資料卷容器)
在docker容器的實際使用中,經常會遇到容器的資料持久化,容器之間的資料共享等問題,通常我們有兩種解決方案 1 資料卷 data volumes 就是將容器內資料直接對映到本地主機環境的指定檔案目錄之中,可以理解為容器掛載乙個虛擬資料卷然後 對映到乙個主機目錄中 2 資料卷容器 data volu...
Docker資料管理 Volumes資料卷管理
4 刪除資料卷 2.啟動容器並載入資料卷 1 檢視本機容器和資料卷 docker ps a 檢視本地docker機器上的容器 docker volume ls 檢視本地docker機器上的資料卷 從上圖中可以看出,目前本地docker主機上沒有任何容器和資料卷。為了避免後續示例演示的干擾,如果機器上...