Docker數(shù)據(jù)存儲(chǔ)總結(jié)
閱讀本文前,希望你已經(jīng)對(duì)Volumes,Bind mounts和tmpfs mounts有了初步的了解,具體可以參考以下文章:
- Docker數(shù)據(jù)存儲(chǔ)之Volumes
- Docker數(shù)據(jù)存儲(chǔ)之Bind mounts
- Docker數(shù)據(jù)存儲(chǔ)之tmpfs mounts
下圖展示了Volumes,Bind mounts和tmpfs mounts三種存儲(chǔ)技術(shù)的不同:

Volumes的使用場(chǎng)景
- 在多個(gè)容器間共享數(shù)據(jù)。
- 無(wú)法確保Docker主機(jī)一定擁有某個(gè)指定的文件夾或目錄結(jié)構(gòu),使用Volumes可以屏蔽這些宿主機(jī)差異。
- 當(dāng)你希望將數(shù)據(jù)存儲(chǔ)在遠(yuǎn)程主機(jī)或云提供商上。
- 當(dāng)你希望備份,恢復(fù)或者遷移數(shù)據(jù)從一臺(tái)Docker主機(jī)到另一臺(tái)Docker主機(jī),Volumes是更好的選擇。
Bind mounts的使用場(chǎng)景
- 在宿主機(jī)和容器間共享配置文件。例如將nginx容器的配置文件保存在宿主機(jī)上,通過(guò)Bind mounts掛載后就不用進(jìn)入容器來(lái)修改nginx的配置了。
- 在宿主機(jī)和容器間共享代碼或者build輸出。例如將宿主機(jī)某個(gè)項(xiàng)目的target目錄掛載到容器中,這樣在宿主機(jī)上Maven build出一個(gè)最新的產(chǎn)品,可以直接咋i容器中運(yùn)行,而不用生成一個(gè)新的鏡像。
- Docker主機(jī)上的文件或目錄結(jié)構(gòu)是確定的
tmpfs mounts的使用場(chǎng)景
- 當(dāng)你因?yàn)榘踩蚱渌?,不希望將?shù)據(jù)持久化到容器或宿主機(jī)上,那你可以使用tmpfs mounts模式。
Bind mounts和Volumes行為上的差異
- 如果你將一個(gè)空Volume掛載到一個(gè)非空容器目錄上,那么這個(gè)容器目錄中的文件會(huì)被復(fù)制到Volume中,即容器目錄原有文件不會(huì)被Volume覆蓋。
- 如果你使用Bind mounts將一個(gè)宿主機(jī)目錄掛載到容器目錄上,此容器目錄中原有的文件會(huì)被隱藏,從而只能讀取到宿主機(jī)目錄下的文件。
參考文章
https://docs.docker.com/storage/#good-use-cases-for-tmpfs-mounts
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
如何使用 docker compose 搭建 fastDFS文件服務(wù)器
這篇文章主要介紹了如何使用 docker compose 搭建 fastDFS文件服務(wù)器,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10
Docker中運(yùn)行nginx并掛載本地目錄到鏡像中的方法
這篇文章主要介紹了Docker中運(yùn)行nginx并掛載本地目錄到鏡像中的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
Docker容器使用jenkins部署web項(xiàng)目(總結(jié))
這篇文章主要介紹了Docker容器使用jenkins部署web項(xiàng)目(總結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
本地Docker安裝Postgres 12 + pgadmin的方法 (支持Apple M1)
這篇文章主要介紹了本地Docker安裝Postgres 12 + pgadmin的方法 (支持Apple M1),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
利用 Docker 構(gòu)建簡(jiǎn)單的 java 開發(fā)編譯環(huán)境的方法詳解
這篇文章主要介紹了利用 Docker 構(gòu)建簡(jiǎn)單的 java 開發(fā)編譯環(huán)境的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
docker中run命令30個(gè)常用參數(shù)詳解和示例
這篇文章主要給大家介紹了關(guān)于docker中run命令30個(gè)常用參數(shù)的相關(guān)資料,docker?run命令是Docker中最常用的命令之一,用于創(chuàng)建并啟動(dòng)一個(gè)新的容器實(shí)例,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
快速修改docker容器的啟動(dòng)參數(shù)等信息
這篇文章主要介紹了快速修改docker容器的啟動(dòng)參數(shù)等信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
綁定Dokcer容器到主機(jī)指定網(wǎng)卡的方法
這篇文章主要介紹了綁定 Dokcer 容器到主機(jī)指定網(wǎng)卡的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03

