溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Docker數(shù)據(jù)存儲Bind mounts怎么使用

發(fā)布時間:2022-03-24 16:53:07 來源:億速云 閱讀:143 作者:iii 欄目:web開發(fā)

本篇內(nèi)容主要講解“Docker數(shù)據(jù)存儲Bind mounts怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Docker數(shù)據(jù)存儲Bind mounts怎么使用”吧!

默認(rèn)容器的數(shù)據(jù)的讀寫發(fā)生在容器的存儲層,當(dāng)容器被刪除時其上的數(shù)據(jù)將會丟失。所以我們應(yīng)該盡量保證容器存儲層不發(fā)生寫操作,為了實(shí)現(xiàn)數(shù)據(jù)的持久化存儲我們需要選擇一種方案來保存數(shù)據(jù),當(dāng)前有以下幾種方式:

  • volumes

  • bind mounts

  • tmpfs mounts

下圖展示了這三種技術(shù):

Docker數(shù)據(jù)存儲Bind mounts怎么使用

bind mounts

bind mounts模式和volumes非常相似,不同點(diǎn)在于bind mounts模式是將宿主機(jī)上的任意文件或文件夾掛載到容器,而volumes本質(zhì)上是將docker服務(wù)管理的一塊區(qū)域(默認(rèn)是/var/lib/docker/volumes下的文件夾)掛載到容器。

bind mounts的使用和volumes類似,也是通過-v--mount參數(shù)將宿主機(jī)文件掛載容器中。下面是一個例子:

使用--mount參數(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ī)目錄到一個容器中的非空目錄,那么此容器中的非空目錄中的文件會被隱藏,容器訪問這個目錄時能夠訪問到的文件均來自于宿主機(jī)目錄。這也是bind mounts模式和volumes模式最大的行為上的不同。

到此,相信大家對“Docker數(shù)據(jù)存儲Bind mounts怎么使用”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI