目錄
1.什麼是資料卷
2.如何新增資料卷
2.1命令方式
2.2dockerfile方式
3.使用資料卷
3.1docker與宿主機資料共享
3.2docker間資料卷共享
docker資料卷類似虛擬機器的共享資料夾。
①用於容器資料持久化;
②容器間資料共享。
其中容器資料持久化不是說容器停止執行,資料還儲存,而是容器刪除,資料依然儲存。docker產生的資料,如果不通過docker commit生成新的映象,使資料成為映象的一部分儲存下來,那麼容器刪除後,資料自然也就沒了(容器stop後再重啟,資料還是會保留的)。
第一步:執行docker run -v命令,建立容器時繫結資料卷
docker run –it –v /宿主機絕對路徑:/容器內目錄[:ro] [--privileged=true] 映象名
-v:volume,繫結資料卷
ro:read only,容器內此目錄唯讀
--privileged=true:使用該引數,容器內的root擁有真正的root許可權,如果遇到許可權問題不能寫資料卷資料夾,使用此引數
以上命令將容器內的/dockerdata目錄對映到宿主機的/dockerdata。
第二步:執行docker inspect命令,檢視是否繫結資料卷成功
以上可以看到,資料卷繫結成功。
第一步:編寫dockerfile
vim dockerfile
從docker hub上拉取centos
from centos
容器內建立/dockerdata1和/dockerdata2兩個資料卷
volume [「/dockerdata1」,」/dockerdata2」]
列印success
cmd echo 「success.」
cmd /bin/bash
說明:出於移植和分享考慮,用-v 主機目錄方法不能直接在dockerfile實現(因為宿主機中可能沒有這個資料夾),volume只能設定docker容器內的資料卷,宿主機會預設提供目錄與之對應,可通過docker inspect命令檢視。
第二步:執行docker build,生成映象
docker build命令用於根據給定的dockerfile和上下文以構建docker映象。
docker build [引數] [path | url | -]
引數說明:
-f:指定使用的dockerfile;
-t:建立映象的名字及tag;
[path | url | -]:dockerfile所在路徑,可以是dockerfile所在的本地路徑path,也可以是遠端url,如git庫、tarball或文字檔案等,還可以是-,表示通過stdin給出dockerfile。
以上通過docker build生成houpk/centos映象,預設tag為latest。
第三步:執行docker run,建立容器
執行如下命令
docker run -it 映象 /bin/bash
第四步:執行docker inspect,檢視資料卷掛載情況
在宿主機資料卷目錄下建立或修改檔案,在容器內可以看到。
docker容器停止執行,在宿主機資料夾下做修改,docker容器再啟動後,可以看到修改。
在執行docker run建立容器時,使用--valume-from引數,表示新容器繼承指定容器的資料卷。
docker run -it --name dc01 --volumes-from dc00 映象
表示按映象建立名字為dc01的容器,容器dc01繼承容器dc00的資料卷。
其中dc00也是由此映象建立。
這種用法可以用於搭建redis集群等情況。
Docker快速入門
本指南適用於開發環境,如果您打算在生產環境中執行eosio,請考慮構建eosio 先決條件 第1步 提取映象 eosio dev docker映像是為本地開發而設計的eosio軟體的編譯版本。從儲存庫中提取映象 docker pull eosio eos dev並啟動eosio節點 docker r...
Docker 快速入門
docker 是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的 linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。在本場 chat 中你可以學到的 什麼是容器 docker 為什麼這麼火 docker 在網際...
Docker快速入門
1 環境要求 docker分為社群版和企業版,這裡我們安裝的是社群版。在ubuntu下安裝docker需要有一定的環境要求,可以執行以下命令檢視主機環境 uname a 2 部署docker 第一步 安裝基本軟體。第二步 指定使用阿里雲映象。sudo curl fssl sudo apt key a...