Docker中Weave如何實(shí)現(xiàn)跨主機(jī)容器互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)Docker中Weave如何實(shí)現(xiàn)跨主機(jī)容器互聯(lián),小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

回民網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

Docker的原生網(wǎng)絡(luò)支持非常有限,且沒有跨主機(jī)的集群網(wǎng)絡(luò)方案。目前實(shí)現(xiàn)Docker網(wǎng)絡(luò)的開源方案有Weave、Kubernetes、Flannel、Pipework以及SocketPlane等,其中Weave被評(píng)價(jià)為目前最靠譜的,那么這里就對(duì)Weave的基本原理及使用方法做個(gè)總結(jié)。

簡介

Weave是由Zett.io公司開發(fā)的,它能夠創(chuàng)建一個(gè)虛擬網(wǎng)絡(luò),用于連接部署在多臺(tái)主機(jī)上的Docker容器,這樣容器就像被接入了同一個(gè)網(wǎng)絡(luò)交換機(jī),那些使用網(wǎng)絡(luò)的應(yīng)用程序不必去配置端口映射和鏈接等信息。外部設(shè)備能夠訪問Weave網(wǎng)絡(luò)上的應(yīng)用程序容器所提供的服務(wù),同時(shí)已有的內(nèi)部系統(tǒng)也能夠暴露到應(yīng)用程序容器上。Weave能夠穿透防火墻并運(yùn)行在部分連接的網(wǎng)絡(luò)上,另外,Weave的通信支持加密,所以用戶可以從一個(gè)不受信任的網(wǎng)絡(luò)連接到主機(jī)。

weave其他特性

  1. 應(yīng)用隔離:不同子網(wǎng)容器之間默認(rèn)隔離的,即便它們位于同一臺(tái)物理機(jī)上也相互不通;不同物理機(jī)之間的容器默認(rèn)也是隔離的

  2. 物理機(jī)之間容器互通:weave connect $OTHER_HOST

  3. 動(dòng)態(tài)添加網(wǎng)絡(luò):對(duì)于不是通過weave啟動(dòng)的容器,可以通過weave attach 10.0.1.1/24 $id來添加網(wǎng)絡(luò)(detach刪除網(wǎng)絡(luò))

  4. 安全性:可以通過weave launch -password wEaVe設(shè)置一個(gè)密碼用于weave peers之間加密通信

  5. 與宿主機(jī)網(wǎng)絡(luò)通信:weave expose 10.0.1.102/24,這個(gè)IP會(huì)配在weave網(wǎng)橋上

  6. 查看weave路由狀態(tài):weave ps

  7. 通過NAT實(shí)現(xiàn)外網(wǎng)訪問docker容器

Docker中Weave如何實(shí)現(xiàn)跨主機(jī)容器互聯(lián)

Docker中Weave如何實(shí)現(xiàn)跨主機(jī)容器互聯(lián)

安裝與啟動(dòng)

直接從github下載二進(jìn)制文件安裝。

# sudo wget -O /usr/local/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
# sudo chmod a+x /usr/local/bin/weave

啟動(dòng)weave路由器,這個(gè)路由器其實(shí)也是以容器的形式運(yùn)行的。

# weave launch
Unable to find image 'zettio/weave' locally
......

此時(shí)會(huì)發(fā)現(xiàn)有兩個(gè)網(wǎng)橋,一個(gè)是Docker默認(rèn)生成的,另一個(gè)是Weave生成的。

Docker中Weave如何實(shí)現(xiàn)跨主機(jī)容器互聯(lián)

Docker中Weave如何實(shí)現(xiàn)跨主機(jī)容器互聯(lián) 

接下來就可以運(yùn)行應(yīng)用容器,使用weave提供的網(wǎng)絡(luò)功能了。

簡單使用

準(zhǔn)備

1. host1: 10.0.2.6
2. host2: 10.0.2.8
3. host1上的應(yīng)用容器1: 192.168.0.2/24 host1上的應(yīng)用容器2: 192.168.1.2/24
4. host2上的應(yīng)用容器1: 192.168.0.3/24
兩臺(tái)機(jī)上均安裝Docker及Weave,并均啟動(dòng)好Weave路由容器。

在兩臺(tái)機(jī)上均啟動(dòng)一個(gè)應(yīng)用容器??梢灾苯邮褂?code>weave run命令,也可以先使用docker run啟動(dòng)好容器,然后使用weave attach命令給容器綁定IP地址。

# weave run 192.168.0.2/24 -itd ubuntu bash

或者

# docker run -itd ubuntu bash
# weave attach 192.168.0.2/24 $ID

此時(shí)發(fā)現(xiàn)兩個(gè)容器之間是不通的,需要使用weave connect命令在兩臺(tái)weave的路由器之間建立連接。

# weave connect 10.0.2.8

會(huì)發(fā)現(xiàn),此時(shí)位于兩臺(tái)不同主機(jī)上的容器之間可以相互ping通了。但是處于不同子網(wǎng)的兩個(gè)容器是不能互聯(lián)的,這樣我們就可以使用不同子網(wǎng)進(jìn)行容器間的網(wǎng)絡(luò)隔離了。

我們會(huì)發(fā)現(xiàn),如果不使用Docker的原生網(wǎng)絡(luò),在容器內(nèi)部是不能訪問宿主機(jī)以及外部網(wǎng)絡(luò)的。此時(shí)我們可以使用weave expose 192.168.0.1/24來給weave網(wǎng)橋添加IP,以實(shí)現(xiàn)容器與宿主機(jī)網(wǎng)絡(luò)連通。但是,此時(shí)在容器內(nèi)部依然不能訪問外部網(wǎng)絡(luò)。

我們可以同時(shí)使用Docker的原生網(wǎng)絡(luò)和weave網(wǎng)絡(luò)來實(shí)現(xiàn)容器互聯(lián)及容器訪問外網(wǎng)和端口映射。使用外部網(wǎng)絡(luò)及端口映射的時(shí)候就使用docker0網(wǎng)橋,需要容器互聯(lián)的時(shí)候就使用weave網(wǎng)橋。每個(gè)容器分配兩個(gè)網(wǎng)卡。

其他特性應(yīng)用隔離:不同子網(wǎng)容器之間默認(rèn)隔離的,即便它們位于同一臺(tái)物理機(jī)上也相互不通(使用-icc=false關(guān)閉容器互通);不同物理機(jī)之間的容器默認(rèn)也是隔離的安全性:可以通過weave launch -password wEaVe設(shè)置一個(gè)密碼用于weave peers之間加密通信查看weave路由狀態(tài):weave ps問題容器重啟問題

如果使用weave,則就不能再使用docker自帶的auto-restart feature(如docker run –restart=always redis),因?yàn)閣eave是在docker之外為容器配置的網(wǎng)絡(luò),容器重啟的時(shí)候docker本身不會(huì)做這些事情。因而,還需額外的工具來管理容器的狀態(tài)(比如systemd, upstart等),這些工具要調(diào)用weave命令(weave run/start/attach)來啟動(dòng)容器。

關(guān)于“Docker中Weave如何實(shí)現(xiàn)跨主機(jī)容器互聯(lián)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

網(wǎng)頁題目:Docker中Weave如何實(shí)現(xiàn)跨主機(jī)容器互聯(lián)
網(wǎng)站網(wǎng)址:http://muchs.cn/article34/pgogse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、網(wǎng)站設(shè)計(jì)公司品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站收錄、搜索引擎優(yōu)化、移動(dòng)網(wǎng)站建設(shè)

廣告

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

微信小程序開發(fā)