Docker中Weave如何實現跨主機容器互聯

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

回民網站制作公司哪家好,找創新互聯!從網頁設計、網站建設、微信開發、APP開發、響應式網站建設等網站項目制作,到程序開發,運營維護。創新互聯從2013年成立到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創新互聯。

Docker的原生網絡支持非常有限,且沒有跨主機的集群網絡方案。目前實現Docker網絡的開源方案有Weave、Kubernetes、Flannel、Pipework以及SocketPlane等,其中Weave被評價為目前最靠譜的,那么這里就對Weave的基本原理及使用方法做個總結。

簡介

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

weave其他特性

  1. 應用隔離:不同子網容器之間默認隔離的,即便它們位于同一臺物理機上也相互不通;不同物理機之間的容器默認也是隔離的

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

  3. 動態添加網絡:對于不是通過weave啟動的容器,可以通過weave attach 10.0.1.1/24 $id來添加網絡(detach刪除網絡)

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

  5. 與宿主機網絡通信:weave expose 10.0.1.102/24,這個IP會配在weave網橋上

  6. 查看weave路由狀態:weave ps

  7. 通過NAT實現外網訪問docker容器

Docker中Weave如何實現跨主機容器互聯

Docker中Weave如何實現跨主機容器互聯

安裝與啟動

直接從github下載二進制文件安裝。

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

啟動weave路由器,這個路由器其實也是以容器的形式運行的。

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

此時會發現有兩個網橋,一個是Docker默認生成的,另一個是Weave生成的。

Docker中Weave如何實現跨主機容器互聯

Docker中Weave如何實現跨主機容器互聯 

接下來就可以運行應用容器,使用weave提供的網絡功能了。

簡單使用

準備

1. host1: 10.0.2.6
2. host2: 10.0.2.8
3. host1上的應用容器1: 192.168.0.2/24 host1上的應用容器2: 192.168.1.2/24
4. host2上的應用容器1: 192.168.0.3/24
兩臺機上均安裝Docker及Weave,并均啟動好Weave路由容器。

在兩臺機上均啟動一個應用容器。可以直接使用weave run命令,也可以先使用docker run啟動好容器,然后使用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

此時發現兩個容器之間是不通的,需要使用weave connect命令在兩臺weave的路由器之間建立連接。

# weave connect 10.0.2.8

會發現,此時位于兩臺不同主機上的容器之間可以相互ping通了。但是處于不同子網的兩個容器是不能互聯的,這樣我們就可以使用不同子網進行容器間的網絡隔離了。

我們會發現,如果不使用Docker的原生網絡,在容器內部是不能訪問宿主機以及外部網絡的。此時我們可以使用weave expose 192.168.0.1/24來給weave網橋添加IP,以實現容器與宿主機網絡連通。但是,此時在容器內部依然不能訪問外部網絡。

我們可以同時使用Docker的原生網絡和weave網絡來實現容器互聯及容器訪問外網和端口映射。使用外部網絡及端口映射的時候就使用docker0網橋,需要容器互聯的時候就使用weave網橋。每個容器分配兩個網卡。

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

如果使用weave,則就不能再使用docker自帶的auto-restart feature(如docker run –restart=always redis),因為weave是在docker之外為容器配置的網絡,容器重啟的時候docker本身不會做這些事情。因而,還需額外的工具來管理容器的狀態(比如systemd, upstart等),這些工具要調用weave命令(weave run/start/attach)來啟動容器。

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

網頁題目:Docker中Weave如何實現跨主機容器互聯
網站網址:http://m.kartarina.com/article34/pgogse.html

成都網站建設公司_創新互聯,為您提供網站維護網站設計公司品牌網站設計網站收錄搜索引擎優化移動網站建設

廣告

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

微信小程序開發
主站蜘蛛池模板: 久久AV高潮AV无码AV| 无码日本电影一区二区网站| 国产精品无码一区二区三区毛片| 国产拍拍拍无码视频免费| 免费无码H肉动漫在线观看麻豆| 国产精品VA在线观看无码不卡| 麻豆aⅴ精品无码一区二区| 亚洲AV无码一区二区三区电影| 中文字幕丰满乱孑伦无码专区| 成人无码区免费视频观看| 国产亚洲精久久久久久无码77777| 亚洲aⅴ无码专区在线观看春色| 亚洲中文字幕无码一久久区| 国产成人AV无码精品| 岛国av无码免费无禁网站| 亚洲AV无码一区二区一二区| 一本久道综合在线无码人妻| 无码毛片AAA在线| 无码福利一区二区三区| 精品无码成人片一区二区98 | 亚洲国产精品无码专区在线观看 | 无码人妻一区二区三区在线视频| 国产精品无码一区二区在线观一| 一本天堂ⅴ无码亚洲道久久 | 亚洲成av人片在线观看无码不卡| 成人无码视频97免费| 日韩精品无码一区二区三区四区| 成年无码av片完整版| 无码少妇一区二区| 亚洲精品无码aⅴ中文字幕蜜桃| 麻豆亚洲AV成人无码久久精品| 东京热人妻无码人av| 久久国产加勒比精品无码| 亚洲AV无码一区二区大桥未久| 日韩av无码成人无码免费| 亚洲精品无码鲁网中文电影| 久久无码国产专区精品| 亚洲日韩中文无码久久| 精品久久久久久无码中文字幕漫画 | 日韩人妻无码中文字幕视频| 在线观看无码不卡AV|