溫馨提示×

溫馨提示×

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

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

Docker如何實現Volumn容器間共享數據

發布時間:2021-05-27 14:45:37 來源:億速云 閱讀:298 作者:小新 欄目:服務器

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

volume是什么

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

為什么要進行數據共享

Docker如何實現Volumn容器間共享數據

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

數據共享原理

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

實現數據共享的解決方案

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

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

Docker如何實現Volumn容器間共享數據

[x] 使用參數 -v 宿主機目錄:/容器內容目錄共享容器掛載宿主機共享目錄,然后通過掛載共享容器實現數據共享

Docker如何實現Volumn容器間共享數據

容器直接掛載共享目錄

資源列表

準備2個tomcat容器:
tomcat8000 tomcat8001

詳細步驟

創建共享數據

創建共享目錄:mkdir -p /usr/local/docker/volumn/pages/
在共享目錄中增加共享文件: index.html,內容如下

我是一個volumn 共享目錄 albk!

創建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 這個目錄,這樣就可以實現數據共享

驗證容器是否正常啟動

docke ps

Docker如何實現Volumn容器間共享數據

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

Docker如何實現Volumn容器間共享數據

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

Docker如何實現Volumn容器間共享數據

修改共享文件

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

瀏覽器再次驗證

Docker如何實現Volumn容器間共享數據

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

共享容器掛載創建一個共享容器 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實際作用就是定義了一個掛載點,修改內容的時候,只需要修改共享容器的共享目錄即可

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女