Docker 數(shù)據(jù)卷 (4)

Docker 數(shù)據(jù)卷(Docker Volumes)是一個(gè)可供 Docker 容器使用的持久化數(shù)據(jù)存儲(chǔ)機(jī)制,其數(shù)據(jù)可以在容器之間共享和重用敦姻。數(shù)據(jù)卷有以下特點(diǎn):

  • 數(shù)據(jù)卷可以與宿主機(jī)上的文件目錄或者另一個(gè)容器的文件系統(tǒng)掛載關(guān)聯(lián)二庵。
  • 容器內(nèi)部的應(yīng)用程序可以非常方便地訪問數(shù)據(jù)卷里的數(shù)據(jù),就像訪問本地文件一樣。
  • 即使容器被刪除蜜氨,數(shù)據(jù)卷本身不會(huì)被自動(dòng)刪除,因此可以實(shí)現(xiàn)數(shù)據(jù)持久化捎泻。
  • 使用 Docker 數(shù)據(jù)卷可以方便地解決一些問題飒炎,例如:
    • 容器之間需要共享一些數(shù)據(jù),可以使用同一個(gè)數(shù)據(jù)卷
    • 當(dāng)多個(gè)容器運(yùn)行同一個(gè)應(yīng)用時(shí)笆豁,可以將應(yīng)用配置文件設(shè)置為一個(gè)數(shù)據(jù)卷郎汪,并掛載到每個(gè)容器中
    • 打包 Docker 鏡像時(shí),大部分的數(shù)據(jù)可以放在數(shù)據(jù)卷中闯狱,而不是打進(jìn)鏡像中煞赢,這樣可以減小鏡像的大小
數(shù)據(jù)卷命令

數(shù)據(jù)卷操作的基本語法:

$ docker volume [command] ...  # -- help 查詢
  • create: 創(chuàng)建一個(gè) volume 目錄
  • inspect: 顯示 一個(gè)或者多個(gè)voluem 詳細(xì)信息
  • ls:volume 列表信息
  • prune:刪除未使用的 volume, eq: docker volume prune
  • rm:刪除一個(gè)或者多個(gè)指定的 volume

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

方式1:將主機(jī)數(shù)據(jù)卷與容器掛載

在這種情況下,兩個(gè)容器將共享同一個(gè)數(shù)據(jù)卷容器哄孤,數(shù)據(jù)會(huì)被持久化保存并一直存在于容器間傳遞照筑。

$ docker run --name sonar \
 -p 9000:9000 \
 -v data:/opt/sonarqube/data \
 -v logs:/opt/sonarqube/logs \
 -v extensions:/opt/sonarqube/extensions \
 -d \
 sonarqube

命令解讀:

  • docker run:創(chuàng)建并運(yùn)行容器
    ---name:自定義容器名稱
  • -p:宿主機(jī)端口映射
  • -v:將主機(jī)中已創(chuàng)建的 data 數(shù)據(jù)卷掛載的容器內(nèi)的/opt/sonarqube/data 目錄
  • -d:容器后臺(tái)運(yùn)行
  • sonarqube:鏡像名稱
# 查看 data 數(shù)據(jù)卷掛載位置信息
$ docker volume inspect data

# 進(jìn)入掛載目錄 mountpoint
$ cd /var/lib/docker/volumes/soanrqube/data/_data

# 修改配置文件
$ vim xxx
方式2:將主機(jī)目錄與容器內(nèi)的目錄掛載

這種情況下,容器內(nèi)的數(shù)據(jù)會(huì)被持久化保存到主機(jī)上的特定目錄中瘦陈,即使容器被刪除凝危,數(shù)據(jù)也不會(huì)丟失.目錄掛載與數(shù)據(jù)卷掛載命令基本一致。

$ docker run --name sonar \
 -p 9000:9000 \
 -v tmp/sonarqube/data:/opt/sonarqube/data \  # 將主機(jī)目錄直接與容器內(nèi)的目錄掛載
 -v tmp/sonarqube/logs:/opt/sonarqube/logs \
 -v tmp/sonarqube/extensions:/opt/sonarqube/extensions \
 -d \
 sonarqube

以上兩種方式數(shù)據(jù)卷掛載與目錄掛載的區(qū)別不大晨逝,數(shù)據(jù)卷掛載是由docker管理目錄蛾默,只是目錄較深難找。目錄掛載則需要自定義目錄捉貌,便于查找趴生。

*方式3:使用網(wǎng)絡(luò)存儲(chǔ)驅(qū)動(dòng)程序掛載遠(yuǎn)程數(shù)據(jù)卷

可以使用網(wǎng)絡(luò)存儲(chǔ)驅(qū)動(dòng)程序?qū)⑦h(yuǎn)程主機(jī)上的目錄掛載為數(shù)據(jù)卷阀趴,以便容器可以訪問遠(yuǎn)程數(shù)據(jù)〔源遥可以通過如下命令來實(shí)現(xiàn):

docker run --mount type=volume,dst=/container/path,volume-driver=mydriver,readonly myimage

在linux系統(tǒng)中刘急,可以使用ls /命令查看根目錄下的文件和目錄。以下是一些常見的目錄及其作用:

  • /bin: 存放二進(jìn)制可執(zhí)行文件浸踩,用于系統(tǒng)啟動(dòng)和基本功能操作(如ls叔汁、cp、cat等)检碗。
  • /boot: 存放系統(tǒng)啟動(dòng)所需的文件据块,包括內(nèi)核鏡像、ram磁盤映像(initramfs)和引導(dǎo)加載器(grub)等折剃。
  • /dev: 存放設(shè)備文件另假,包括硬件設(shè)備和虛擬設(shè)備。
  • /etc: 存放系統(tǒng)配置文件怕犁,包括網(wǎng)絡(luò)配置边篮、用戶賬戶、安裝軟件等奏甫。
  • /home: 存放用戶主目錄戈轿。
  • /lib: 存放庫(kù)文件,包括運(yùn)行時(shí)需要鏈接的應(yīng)用程序和共享庫(kù)阵子,例如libc庫(kù)思杯。
  • /media: 存放可移動(dòng)介質(zhì),例如u盤和cd-rom挠进。
  • /mnt: 臨時(shí)掛載點(diǎn)色乾,用于掛載其他文件系統(tǒng)。
  • /opt: 存放第三方軟件安裝目錄 // 如: Jenkins领突、maven杈湾、sonarqube等
  • /proc: 虛擬文件系統(tǒng),包含當(dāng)前運(yùn)行進(jìn)程信息攘须、系統(tǒng)狀態(tài)和硬件信息等漆撞。
  • /root: root用戶的主目錄。
  • /run: 存放系統(tǒng)運(yùn)行時(shí)需要的臨時(shí)文件(例如pid文件)于宙。
  • /sbin: 存放超級(jí)用戶命令浮驳,包括重啟服務(wù)器或修改系統(tǒng)配置等等。
  • /srv: 存放服務(wù)提供的相關(guān)文件捞魁,如http至会、ftp等。
  • /sys: 虛擬文件系統(tǒng)谱俭,用于與linux內(nèi)核進(jìn)行交互的接口奉件。
  • /tmp: 存放臨時(shí)文件宵蛀,保存在該目錄下的文件可能會(huì)在重啟后被刪除 // 一般放置安裝壓縮包
  • /usr: 存放用戶的應(yīng)用程序和數(shù)據(jù) // 常用
  • var: 用于存儲(chǔ)變化數(shù)據(jù)的目錄 // docker 容器的數(shù)據(jù)卷掛載一般放置在該目錄下
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市县貌,隨后出現(xiàn)的幾起案子术陶,更是在濱河造成了極大的恐慌,老刑警劉巖煤痕,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梧宫,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡摆碉,警方通過查閱死者的電腦和手機(jī)塘匣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來巷帝,“玉大人忌卤,你說我怎么就攤上這事±闫茫” “怎么了驰徊?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)现拒。 經(jīng)常有香客問我,道長(zhǎng)望侈,這世上最難降的妖魔是什么印蔬? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮脱衙,結(jié)果婚禮上侥猬,老公的妹妹穿的比我還像新娘。我一直安慰自己捐韩,他們只是感情好退唠,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著荤胁,像睡著了一般瞧预。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上仅政,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天垢油,我揣著相機(jī)與錄音,去河邊找鬼圆丹。 笑死滩愁,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的辫封。 我是一名探鬼主播硝枉,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼廉丽,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了妻味?” 一聲冷哼從身側(cè)響起正压,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎弧可,沒想到半個(gè)月后蔑匣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡棕诵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年裁良,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片校套。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡价脾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出笛匙,到底是詐尸還是另有隱情侨把,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布妹孙,位于F島的核電站秋柄,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蠢正。R本人自食惡果不足惜骇笔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嚣崭。 院中可真熱鬧笨触,春花似錦、人聲如沸雹舀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽说榆。三九已至虚吟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間签财,已是汗流浹背稍味。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留荠卷,地道東北人模庐。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像油宜,于是被迫代替她去往敵國(guó)和親掂碱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子怜姿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

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