Docker-13-數(shù)據(jù)卷

數(shù)據(jù)卷,可以繞過拷貝系統(tǒng),在多個容器之間,或者容器和宿主機(jī)之間共享目錄或者文件,數(shù)據(jù)卷繞過了拷貝系統(tǒng),可以達(dá)到本地磁盤I/O性能

示例

以之前的nginx鏡像為例,運(yùn)行一個容器,然后再運(yùn)行的時候,指定一個數(shù)據(jù)卷,用-v參數(shù),具體命令如下:

docker run -tid --name nginx -v /usr/share/nginx/html/ -p 80:80 27a188018e18

執(zhí)行完畢之后,我們就創(chuàng)建一個數(shù)據(jù)卷并且掛載到容器的/usr/share/nginx/html/目錄下面,該目錄其實(shí)是nginx保存html目錄,在這里掛載數(shù)據(jù)卷,一會我們只需修改本地的映射位置,就可以實(shí)現(xiàn)頁面的修改了.

使用docker inspect命令來查看一下剛剛創(chuàng)建的容器的具體信息,找到數(shù)據(jù)卷映射目錄,如下:

docker inspect c39c3e362d27

找到下面這個部分:

image

從上圖中可以看到,Docker默認(rèn)將宿主機(jī)的/var/lib/docker/volumes/609df55091699750b86ee1f870e56050d4083a5159c0234360ffe9f903e41b55/_data這個目錄作為source目錄,然后我們進(jìn)到這個目錄中,看一下文件,如下:

image

這個目錄下面的文件跟容器中的/usr/share/nginx/html/目錄下的文件是一致的,這是因?yàn)閽燧d一個空數(shù)據(jù)卷到容器中的一個非空目錄中時這個目錄下的文件會被復(fù)制到數(shù)據(jù)卷中,如果掛載一個非空的數(shù)據(jù)卷
到容器中的一個目錄中,那么容器中的目錄中會顯示數(shù)據(jù)卷中的數(shù)據(jù).如果原來容器中的目錄中有數(shù)據(jù),那么
這些原始數(shù)據(jù)會被隱藏掉

然后現(xiàn)在先訪問一下nginx的首頁,內(nèi)容如下:

image

現(xiàn)在我們把宿主機(jī)中,剛才目錄下面的index.html修改掉,命令如下:

echo "hello volumes" > index.html

修改完成之后,再回到瀏覽器中,看一下首頁內(nèi)容,內(nèi)容已經(jīng)發(fā)生更改了,如下:

image

使用宿主機(jī)目錄做數(shù)據(jù)卷

上面我們使用數(shù)據(jù)卷是系統(tǒng)隨機(jī)分配的一個目錄,一般情況下,需要我們明確的指定宿主機(jī)中的一個目錄掛載到容器中,方式如下:

docker run -tid --name nginx -v /usr/docker/nginx/html:/usr/share/nginx/html/ -p 80:80 27a188018e18

這樣就是將宿主機(jī)中的/usr/docker/nginx/html目錄掛載到容器的/usr/share/nginx/html/目錄下.

接下來只需要修改/usr/docker/nginx/html這個目錄下的文件,就可以在nginx中看到效果

這種用法對于開發(fā)測試非常方便,不用重新部署,重啟容器等.宿主機(jī)地址是一個絕對路徑

Dockerfile中掛載數(shù)據(jù)卷

如果我們使用了Dockerfile去構(gòu)建鏡像的話,也可以在構(gòu)建鏡像的時候聲明數(shù)據(jù)卷,例如下面這個Dockerfile:

FROM nginx
ADD https://www.baidu.com/img/bd_logo1.png /usr/share/nginx/html/
RUN echo "hello docker volume!">/usr/share/nginx/html/index.html
VOLUME /usr/share/nginx/html/

通過VOLUME就配置了一個匿名的數(shù)據(jù)卷,由于沒有指定掛載到的宿主機(jī)目錄,因此會默認(rèn)掛載到宿主機(jī)的/var/lib/docker/volumes下的一個隨機(jī)名稱的目錄下,因此Dockerfile中使用VOLUME指令掛載目錄和docker run時通過-v參數(shù)指定掛載目錄的區(qū)別在于,run的-v可以指定掛載到宿主機(jī)的哪個目錄,而Dockerfile的VOLUME不能,其掛載目錄由docker隨機(jī)生成

數(shù)據(jù)卷的一些常用操作

查看所有數(shù)據(jù)卷

命令:

docker volume ls 
image

查看數(shù)據(jù)卷詳情

命令:

docker volume inspect <VOLUME NAME>
image

刪除數(shù)據(jù)卷

單個刪除:

docker volume rm <VOLUME NAME>

批量刪除:

docker volume prune

批量刪除的時候,只能刪除掉沒有在使用中的數(shù)據(jù)卷,正在使用中的需要停止相關(guān)的容器然后再次刪除.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瞳步,一起剝皮案震驚了整個濱河市黎烈,隨后出現(xiàn)的幾起案子夺艰,更是在濱河造成了極大的恐慌雨饺,老刑警劉巖橡娄,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脓钾,死亡現(xiàn)場離奇詭異军援,居然都是意外死亡宠进,警方通過查閱死者的電腦和手機(jī)鸠补,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進(jìn)店門萝风,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人紫岩,你說我怎么就攤上這事规惰。” “怎么了泉蝌?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵歇万,是天一觀的道長。 經(jīng)常有香客問我勋陪,道長贪磺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任诅愚,我火速辦了婚禮寒锚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘违孝。我一直安慰自己刹前,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布雌桑。 她就那樣靜靜地躺著喇喉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪筹燕。 梳的紋絲不亂的頭發(fā)上轧飞,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天,我揣著相機(jī)與錄音撒踪,去河邊找鬼过咬。 笑死,一個胖子當(dāng)著我的面吹牛制妄,可吹牛的內(nèi)容都是我干的掸绞。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼衔掸!你這毒婦竟也來了烫幕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤敞映,失蹤者是張志新(化名)和其女友劉穎较曼,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體振愿,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡捷犹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了冕末。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片萍歉。...
    茶點(diǎn)故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖档桃,靈堂內(nèi)的尸體忽然破棺而出枪孩,到底是詐尸還是另有隱情,我是刑警寧澤藻肄,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布蔑舞,位于F島的核電站,受9級特大地震影響嘹屯,放射性物質(zhì)發(fā)生泄漏斗幼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一抚垄、第九天 我趴在偏房一處隱蔽的房頂上張望蜕窿。 院中可真熱鬧,春花似錦呆馁、人聲如沸桐经。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽阴挣。三九已至,卻和暖如春纺腊,著一層夾襖步出監(jiān)牢的瞬間畔咧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工揖膜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留誓沸,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓壹粟,卻偏偏與公主長得像拜隧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 五洪添、Docker 端口映射 無論如何垦页,這些 ip 是基于本地系統(tǒng)的并且容器的端口非本地主機(jī)是訪問不到的。此外干奢,除了...
    R_X閱讀 1,748評論 0 7
  • 0x01 核心概念 Docker鏡像類似于虛擬機(jī)鏡像痊焊,可以理解為一個面向Docker引擎的只讀模板,包含了文件系統(tǒng)...
    閑云逸心閱讀 4,714評論 0 9
  • 目錄 八忿峻、數(shù)據(jù)管理九宋光、數(shù)據(jù)卷備份恢復(fù)十、Docker網(wǎng)絡(luò)模式十一炭菌、opration not permmited十二...
    XiaoMing丶閱讀 1,165評論 0 0
  • Docker簡介Docker是一個由GO語言寫的程序運(yùn)行的“容器”; 目前云服務(wù)的基石是操作系統(tǒng)級別的隔離逛漫,在同一...
    gakiww閱讀 543評論 0 0
  • 《Docker從入門到實(shí)踐》閱讀筆記 原書地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo閱讀 11,375評論 1 39