Docker數(shù)據(jù)存儲(chǔ)之Bind mounts詳解
閱讀本文前,希望你已經(jīng)對(duì)Volumes有了初步的了解,具體可以參考這篇文章:
Docker數(shù)據(jù)存儲(chǔ)之Volumes詳解
默認(rèn)容器的數(shù)據(jù)的讀寫(xiě)發(fā)生在容器的存儲(chǔ)層,當(dāng)容器被刪除時(shí)其上的數(shù)據(jù)將會(huì)丟失。所以我們應(yīng)該盡量保證容器存儲(chǔ)層不發(fā)生寫(xiě)操作,為了實(shí)現(xiàn)數(shù)據(jù)的持久化存儲(chǔ)我們需要選擇一種方案來(lái)保存數(shù)據(jù),當(dāng)前有以下幾種方式:
- Volumes
- Bind mounts
- tmpfs mounts
下圖展示了這三種技術(shù):
Bind mounts
Bind mounts模式和Volumes非常相似,不同點(diǎn)在于Bind mounts模式是將宿主機(jī)上的任意文件或文件夾掛載到容器,而Volumes本質(zhì)上是將Docker服務(wù)管理的一塊區(qū)域(默認(rèn)是/var/lib/docker/volumes下的文件夾)掛載到容器。
Bind mounts的使用和Volumes類似,也是通過(guò)-v
或--mount
參數(shù)將宿主機(jī)文件掛載容器中。下面是一個(gè)例子:
使用--mount
參數(shù)時(shí),需要指定type=bind
:
$ docker run -d \ --name=nginxtest \ --mount type=bind,source=/usr/local/web,destination=/usr/share/nginx/html \ nginx:latest
上面的例子將宿主機(jī)上的/usr/local/web文件夾掛載到容器中的/usr/share/nginx/html文件夾。
或者使用-v
參數(shù):
$ docker run -d \ --name=nginxtest \ -v /usr/local/web:/usr/share/nginx/html \ nginx:latest
掛載成功后,容器從/usr/share/nginx/html目錄下讀取或?qū)懭霐?shù)據(jù),實(shí)際上都是從宿主機(jī)的 /usr/local/web目錄中讀取或?qū)懭霐?shù)據(jù)。因此Volumes或Bind mounts也可以看作是容器和宿主機(jī)共享文件的一種方式。
如果你使用Bind mounts掛載宿主機(jī)目錄到一個(gè)容器中的非空目錄,那么此容器中的非空目錄中的文件會(huì)被隱藏,容器訪問(wèn)這個(gè)目錄時(shí)能夠訪問(wèn)到的文件均來(lái)自于宿主機(jī)目錄。這也是Bind mounts模式和Volumes模式最大的行為上的不同。
Bind mounts使用場(chǎng)景
請(qǐng)參考這篇文章:Docker數(shù)據(jù)存儲(chǔ)總結(jié)
參考文章
https://docs.docker.com/storage/bind-mounts/
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
解決Jenkins集成docker插件問(wèn)題的一些方法
本文主要介紹了Jenkins集成docker插件問(wèn)題的一些方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10使用rpm安裝指定版本docker(1.12.6)的詳細(xì)步驟
為了防止安裝高版本的docker引發(fā)的錯(cuò)誤,需要安裝1.12.6版本的docker,下面小編給大家?guī)?lái)了使用rpm安裝指定版本的docker(1.12.6)的步驟,感興趣的朋友一起看看吧2021-08-08Jenkins打包微服務(wù)構(gòu)建Docker鏡像運(yùn)行的實(shí)現(xiàn)
本文主要介紹了Jenkins打包微服務(wù)構(gòu)建Docker鏡像運(yùn)行的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09idea鏈接不上虛擬機(jī)的docker里的mongodb問(wèn)題及解決
這篇文章主要介紹了idea鏈接不上虛擬機(jī)的docker里的mongodb問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06詳解CentOS 7 : Docker私有倉(cāng)庫(kù)搭建和使用
本篇文章主要介紹了詳解CentOS 7 : Docker私有倉(cāng)庫(kù)搭建和使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02Docker daemon 無(wú)法啟動(dòng): does not match with stored UUID錯(cuò)誤解決辦法
這篇文章主要介紹了Docker daemon 無(wú)法啟動(dòng): does not match with stored UUID錯(cuò)誤解決辦法的相關(guān)資料,需要的朋友可以參考下2016-11-11docker compose自定義網(wǎng)絡(luò)實(shí)現(xiàn)固定容器ip地址
這篇文章主要介紹了docker compose自定義網(wǎng)絡(luò)實(shí)現(xiàn)固定容器ip地址,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01