摘要:創(chuàng)建數(shù)據(jù)容器常見(jiàn)的使用場(chǎng)景是使用純數(shù)據(jù)容器來(lái)持久化數(shù)據(jù)庫(kù)配置文件或者數(shù)據(jù)文件等。多次使用標(biāo)記可以創(chuàng)建多個(gè)數(shù)據(jù)卷。查看該數(shù)據(jù)卷在主機(jī)上的存儲(chǔ)目錄這種應(yīng)該是在主機(jī)目錄底下隨機(jī)命名的一個(gè)目錄去掛載,如果是在上,則該目錄在上面。
1、創(chuàng)建數(shù)據(jù)容器
常見(jiàn)的使用場(chǎng)景是使用純數(shù)據(jù)容器來(lái)持久化數(shù)據(jù)庫(kù)、配置文件或者數(shù)據(jù)文件等。官方的文檔上有詳細(xì)的解釋。例如:
$ docker run --name dbdata postgres echo "Data-only container for postgres"
該命令將會(huì)創(chuàng)建一個(gè)已經(jīng)包含在Dockerfile里定義過(guò)Volume的postgres鏡像,運(yùn)行echo命令然后退出。當(dāng)我們運(yùn)行docker ps命令時(shí),echo可以幫助我們識(shí)別某鏡像的用途。我們可以用-volumes-from命令來(lái)識(shí)別其它容器的Volume:
$ docker run -d --volumes-from dbdata --name db1 postgres
使用數(shù)據(jù)容器的兩個(gè)注意點(diǎn):
不要運(yùn)行數(shù)據(jù)容器,這純粹是在浪費(fèi)資源。
不要為了數(shù)據(jù)容器而使用“最小的鏡像”,如busybox或scratch,只使用數(shù)據(jù)庫(kù)鏡像本身就可以了。你已經(jīng)擁有該鏡像,所以并不需要占用額外的空間。
授權(quán)訪問(wèn)數(shù)據(jù)卷如果要授權(quán)一個(gè)容器訪問(wèn)另一個(gè)容器的Volume,我們可以使用-volumes-from參數(shù)來(lái)執(zhí)行docker run
備份數(shù)據(jù)卷到物理機(jī)器#sudo docker run --volumes-from dbdata -v $(pwd):/backup--name worker ubuntu tar cvf /backup/backup.tar /dbdata
首先利用ubuntu鏡像創(chuàng)建一個(gè)容器worker.使用—volumes-from dbdata參數(shù)來(lái)讓容器掛載dbdata容器的數(shù)據(jù)卷;使用 –v $(pwd):/backup參數(shù)來(lái)掛載本機(jī)的當(dāng)前目錄到worker容器的/backup目錄
Woker容器啟動(dòng)后,執(zhí)行tar命令將/dbdata壓縮到/backup/backup.tar,這樣就到物理機(jī)的當(dāng)前目錄了
在用docker run命令的時(shí)候,使用-v標(biāo)記可以在容器內(nèi)創(chuàng)建一個(gè)數(shù)據(jù)卷。多次使用-v標(biāo)記可以創(chuàng)建多個(gè)數(shù)據(jù)卷。
下面使用training/webapp鏡像創(chuàng)建一個(gè)Web容器,并創(chuàng)建一個(gè)數(shù)據(jù)卷掛載到容器的/we-bapp目錄:
$ sudo docker run -d -P --name web -v /webapp training/webapp
注意 -P是允許外部訪問(wèn)容器需要暴露的端口。
查看該數(shù)據(jù)卷在主機(jī)上的存儲(chǔ)目錄
docker inspect -f {{.Volumes}} your-container-name
這種應(yīng)該是在主機(jī)/var/lib/docker目錄底下隨機(jī)命名的一個(gè)目錄去掛載,如果是在mac上,則該目錄在visualbox上面。
3、掛載本機(jī)目錄(這個(gè)是在dockerfile中VOLUME無(wú)法做到的)使用-v標(biāo)記也可以指定掛載一個(gè)本地的已有目錄到容器中去作為數(shù)據(jù)卷:
$ sudo docker run -d -P --name web -v /src/webapp:/opt/webapp training/webapp
上面的命令加載主機(jī)的/src/webapp目錄到容器的/opt/webapp目錄
掛載一個(gè)本地主機(jī)文件作為數(shù)據(jù)卷-v標(biāo)記也可以從主機(jī)掛載單個(gè)文件到容器中作為數(shù)據(jù)卷:
$ sudo docker run --rm -it -v ~/.bash_history:/.bash_history ubuntu /bin/bash這樣就可以記錄在容器輸入過(guò)的命令歷史了。
深入理解Docker Volume(一)
深入理解Docker Volume(二)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/26599.html
摘要:在前一篇文章學(xué)習(xí)與和應(yīng)用一初步認(rèn)識(shí)中,我們初步介紹了解決了什么問(wèn)題,容器化技術(shù)與傳統(tǒng)的虛擬化方式的區(qū)別,以及簡(jiǎn)要介紹了的幾大核心概念鏡像容器和倉(cāng)庫(kù)。針對(duì)上述問(wèn)題,提供了的,通過(guò)使用指令配置的方式來(lái)創(chuàng)建鏡像。 在前一篇文章 Docker學(xué)習(xí)與和應(yīng)用(一)_初步認(rèn)識(shí)中,我們初步介紹了Docker解決了什么問(wèn)題,Docker容器化技術(shù)與傳統(tǒng)的虛擬化方式的區(qū)別,以及簡(jiǎn)要介紹了Docker的幾大...
摘要:下面創(chuàng)建一個(gè)名為的容器,并加載一個(gè)數(shù)據(jù)卷到容器的目錄。如果需要在刪除容器的同時(shí)移除數(shù)據(jù)卷。 容器內(nèi)部以及容器之間的數(shù)據(jù)管理是怎么樣進(jìn)行的? showImg(https://segmentfault.com/img/bVbt7pw?w=667&h=275); 其實(shí)在 Docker 內(nèi)部以及容器之間管理數(shù)據(jù),在容器中管理數(shù)據(jù)主要有兩種方式: 數(shù)據(jù)卷(Volumes) 掛載主機(jī)目錄 (Bi...
摘要:上一篇簡(jiǎn)介常用命令與實(shí)踐一六鏡像操作獲取鏡像下載鏡像到本地上有大量的高質(zhì)量的鏡像可以用,這里我們就說(shuō)一下怎么獲取這些鏡像。 【上一篇:Docker簡(jiǎn)介、常用命令與實(shí)踐(一)】 六、Docker鏡像操作 6.1 獲取鏡像(下載鏡像到本地) Docker Hub?上有大量的高質(zhì)量的鏡像可以用,這里我們就說(shuō)一下怎么獲取這些鏡像。從 Docker 鏡像倉(cāng)庫(kù)獲取鏡像的命令是?docker pul...
摘要:發(fā)現(xiàn)問(wèn)題之后,相應(yīng)的解決方法也很簡(jiǎn)單把當(dāng)前目錄的擁有者賦值給,再啟動(dòng)容器就一切正常了。這時(shí)我們已經(jīng)可以知道容器的本地?cái)?shù)據(jù)卷中文件目錄的權(quán)限是和宿主機(jī)上一致的,只是在容器和宿主機(jī)中可能映射為不同的用戶組名稱。 Volume數(shù)據(jù)卷是Docker的一個(gè)重要概念。數(shù)據(jù)卷是可供一個(gè)或多個(gè)容器使用的特殊目錄,可以為容器應(yīng)用存儲(chǔ)提供有價(jià)值的特性: 持久化數(shù)據(jù)與容器的生命周期解耦:在容器刪除之后數(shù)據(jù)卷...
摘要:后續(xù)文談到私倉(cāng)非常有用?;謴?fù)數(shù)據(jù)卷首先運(yùn)行了一個(gè)新容器作為數(shù)據(jù)恢復(fù)的目標(biāo)。第二行指令啟動(dòng)了一個(gè)臨時(shí)容器,這個(gè)容器掛載了兩個(gè),第一個(gè)與要恢復(fù)的共享,第二個(gè)將宿主機(jī)的當(dāng)前目錄掛載到容器的下。參考會(huì)煮咖啡的貓咪 showImg(https://segmentfault.com/img/remote/1460000016001552?w=615&h=456); 目錄 01 Docker 常用...
閱讀 2837·2021-11-22 15:11
閱讀 3559·2021-09-28 09:43
閱讀 2906·2019-08-30 13:05
閱讀 3445·2019-08-30 11:18
閱讀 1459·2019-08-29 16:34
閱讀 1319·2019-08-29 13:53
閱讀 2922·2019-08-29 11:03
閱讀 1673·2019-08-29 10:57