Docker如何實現(xiàn)Volumn容器間共享數(shù)據(jù)

這篇文章將為大家詳細講解有關(guān)Docker如何實現(xiàn)Volumn容器間共享數(shù)據(jù),小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)是一家集成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、網(wǎng)站頁面設(shè)計、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)絡(luò)公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗,以探求精品塑造與理念升華,設(shè)計最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務(wù)才是根本,我們始終堅持講誠信,負責任的原則,為您進行細心、貼心、認真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。

volume是什么

volume在英文中是容量的意思, 在docker中是數(shù)據(jù)卷的意思,是用來保存數(shù)據(jù)的容器

為什么要進行數(shù)據(jù)共享

Docker如何實現(xiàn)Volumn容器間共享數(shù)據(jù)

在集群中有多臺tomcat,對于集群中的tomcat部署的代碼是同一份代碼的副本,如果頁面文件發(fā)生變化,意味著每個容器中的頁面文件都要進行更新,在大規(guī)模的集群中這樣的工作量會被無限放大,這時候就需要用到數(shù)據(jù)共享解決此問題,所謂數(shù)據(jù)共享指的是多個容器共享一個數(shù)據(jù)副本,在docker環(huán)境中我們該如何實現(xiàn)?

數(shù)據(jù)共享原理

在宿主機的硬盤上開辟一個空間,用來存放共享的數(shù)據(jù),多個容器共享這個目錄

實現(xiàn)數(shù)據(jù)共享的解決方案

說到數(shù)據(jù)共享我們其實很容易想到linux中的mount命令,通過掛載一共享目錄來

[x] 使用參數(shù) -v 宿主機目錄:/容器內(nèi)容目錄 將共享的文件放在宿主機的某個文件中,然后多個容器之前共享這一個目錄,實現(xiàn)數(shù)據(jù)共享,這需要在啟動時

Docker如何實現(xiàn)Volumn容器間共享數(shù)據(jù)

[x] 使用參數(shù) -v 宿主機目錄:/容器內(nèi)容目錄共享容器掛載宿主機共享目錄,然后通過掛載共享容器實現(xiàn)數(shù)據(jù)共享

Docker如何實現(xiàn)Volumn容器間共享數(shù)據(jù)

容器直接掛載共享目錄

資源列表

準備2個tomcat容器:
tomcat8000 tomcat8001

詳細步驟

創(chuàng)建共享數(shù)據(jù)

創(chuàng)建共享目錄:mkdir -p /usr/local/docker/volumn/pages/
在共享目錄中增加共享文件: index.html,內(nèi)容如下

我是一個volumn 共享目錄 albk!

創(chuàng)建tomcat8000tomcat8001

docker run -d --name tomcat8000 -p 8000:8080 -v /usr/local/docker/volumn:/usr/local/tomcat/webapps tomcat

docker run -d --name tomcat8001 -p 8001:8080 -v /usr/local/docker/volumn:/usr/local/tomcat/webapps tomcat
啟動容器時將宿主機的/usr/local/docker/volumn目錄,掛載到tomcat容器的/usr/local/tomcat/webapps 這個目錄,這樣就可以實現(xiàn)數(shù)據(jù)共享

驗證容器是否正常啟動

docke ps

Docker如何實現(xiàn)Volumn容器間共享數(shù)據(jù)

docker exec -it a05a987b6da0 /bin/bash
查看一下webapps目錄下,是否掛載成功

Docker如何實現(xiàn)Volumn容器間共享數(shù)據(jù)

瀏覽器訪問
http://宿主機ip:8000/pages/index.html
http://宿主機ip:8001/pages/index.html

Docker如何實現(xiàn)Volumn容器間共享數(shù)據(jù)

修改共享文件

echo "我是一個volumn 共享目錄 albk! 被修改了" > index.html

瀏覽器再次驗證

Docker如何實現(xiàn)Volumn容器間共享數(shù)據(jù)

可以看到我們修改的內(nèi)容,已經(jīng)實時生效了,不需要重新部署tomcat容器,但是這樣實現(xiàn)每次容器啟動的時候,參數(shù)會很長,很容易出錯,在集群較小的時候可以這樣,但是規(guī)模大的時候,這也是不少的工作量,下面我們看一下另一種方法

共享容器掛載創(chuàng)建一個共享容器 webpages,通過上述的方法,使用-v 掛載共享目錄

docker create --name webpages -v /usr/local/docker/volumn/pages:/usr/local/tomcat/webapp tomcat /bin/true

掛載共享容器

docker run --name tomcat8000 -d -p 8000:8080 --volumes-from webpages tomcat 
docker run --name tomcat8001 -d -p 8001:8080 --volumes-from webpages tomcat
驗證過程和上面的一樣,容器webpages實際作用就是定義了一個掛載點,修改內(nèi)容的時候,只需要修改共享容器的共享目錄即可

關(guān)于“Docker如何實現(xiàn)Volumn容器間共享數(shù)據(jù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

本文名稱:Docker如何實現(xiàn)Volumn容器間共享數(shù)據(jù)
本文地址:http://www.muchs.cn/article26/gcehjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站改版域名注冊、、全網(wǎng)營銷推廣移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營