欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 詳解Docker 容器跨主機多網段通信解決方案

詳解Docker 容器跨主機多網段通信解決方案

熱門標簽:電銷機器人對公司貢獻 智能外呼系統如何部署 宿州防封外呼系統廠家 濟源電話外呼系統怎么樣 高德地圖標注在建線路 電話機器人服務差 蘭州語音電銷機器人軟件 山東400電話如何辦理 ai電銷機器人 如何開發

一、MacVlan

實現Docker的跨主機網絡通信的方案有很多,如之前博文中寫到的通過部署 Consul服務實現Docker容器跨主機通信

Macvlan工作原理:

Macvlan是Linux內核支持的網絡接口。要求的Linux內部版本是v3.9–3.19和4.0+;
通過為物理網卡創建Macvlan子接口,允許一塊物理網卡擁有多個獨立的MAC地址和IP地址。虛擬出來的子接口將直接暴露在相鄰物理網絡中。從外部看來,就像是把網線隔開多股,分別接受了不同的主機上一樣;
物理網卡收到包后,會根據收到包的目的MAC地址判斷這個包需要交給其中虛擬網卡。

當容器需要直連入物理網絡時,可以使用Macvlan。Macvlan本身不創建網絡,本質上首先使宿主機物理網卡工作在‘混雜模式',這樣物理網卡的MAC地址將會失效,所有二層網絡中的流量物理網卡都能收到。接下來就是在這張物理網卡上創建虛擬網卡,并為虛擬網卡指定MAC地址,實現一卡多用,在物理網絡看來,每張虛擬網卡都是一個單獨的接口。

使用Macvlan注意:

  • 容器直接連接物理網絡,由物理網絡負責分配IP地址,可能的結果是物理網絡IP地址被耗盡,另一個后果是網絡性能問題,物理網絡中接入的主機變多,廣播包占比快速升高而引起的網絡性能下降問題;
  • 宿主機上的某張網上需要工作在‘混亂模式'下;
  • 前面說到,工作在混亂模式下的物理網卡,其MAC地址會失效,所以,此模式中運行的容器并不能與外網進行通信,但是不會影響宿主機與外網通信;
  • 從長遠來看bridge網絡與overlay網絡是更好的選擇,原因就是虛擬網絡應該與物理網絡隔離而不是共享。

工作示意圖:


二、配置實例

實例1(實現容器基于macvlan的單網段跨主機通信)

實現效果:

兩臺centos 7.3,分別運行著docker服務;
兩臺docker服務器創建相同的一個MacVlan網絡,使docker服務器上的容器可以實現跨主機通信。

開始配置

1、第一臺docker服務器配置如下

[root@docker01 ~]# ip link set ens33 promisc on       # 開啟ens33網卡的混雜模式
[root@docker01 ~]# ip link show ens33   # 確定查看的信息包含以下標紅的字樣
2: ens33: <BROADCAST,MULTICAST,'PROMISC',UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
  link/ether 00:0c:29:9f:33:9f brd ff:ff:ff:ff:ff:ff
[root@docker01 ~]# docker network create -d macvlan --subnet 172.22.16.0/24 --gateway 172.22.16.1 -o pa
rent=ens33 mac_net1
#創建macvlan網絡,指定網關、網段等信息,“-o”指定綁定在哪張網卡之上
[root@docker01 ~]# docker run -itd --name test1 --ip 172.22.16.10 --network mac_net1 busybox   # 基于新創建的macvlan網絡運行一個容器,并指定其IP

確認運行的容器的IP地址

[root@docker01 ~]# docker exec test1 ip a   # 查看IP,確定以下標紅與配置的一樣
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
6: eth0@if2: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue 
  link/ether 02:42:ac:16:10:0a brd ff:ff:ff:ff:ff:ff
  inet '172.22.16.10/24' brd 172.22.16.255 scope global eth0
    valid_lft forever preferred_lft forever

2、第二臺docker服務器配置如下(與第一臺docker服務器基本相似)

[root@docker02 ~]# ip link set ens33 promisc on    # 開啟混雜模式
[root@docker02 ~]# ip link show ens33 
2: ens33: <BROADCAST,MULTICAST,'PROMISC',UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
  link/ether 00:0c:29:b5:bc:ed brd ff:ff:ff:ff:ff:ff
[root@docker02 ~]# docker network create -d macvlan --subnet 172.22.16.0/24 --gateway=172.22.16.1 -o parent=ens33 mac_net1
#創建一個與第一臺docker服務器的網段、網關相同的macvlan。并綁定到物理網卡上。
#為了可以直觀的看出其他docker服務器上的macvlan和第這臺是在同一個網段的。所以,建議設置的網絡名稱一樣。
[root@docker02 ~]# docker run -itd --name test2 --ip 172.22.16.11 --network mac_net1 busybox
#運行一個容器,并指定是基于macvlan網絡的
#注意,其IP地址不要與其他docker服務器上的容器IP地址沖突

確認運行的容器的IP地址

[root@docker02 ~]# docker exec test2 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
6: eth0@if2: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue 
  link/ether 02:42:ac:16:10:0b brd ff:ff:ff:ff:ff:ff
  inet '172.22.16.11/24' brd 172.22.16.255 scope global eth0
    valid_lft forever preferred_lft forever

使用第二臺docker服務器上的容器test2對第一臺docker服務器上的容器test1進行ping測試


OK,跨主機的容器通信就通過macvlan實現了。由于使用混雜模式會造成物理網卡的MAC地址失效,所以容器并不能通過此模式進行與外網的通信。

實例2(基于macvlan的跨主機網絡多網段的解決方案)

實現的效果如下:

  • 兩臺centos 7.3,分別運行著docker服務;
  • 每臺宿主機創建了兩個MacVlan網段供容器使用(172.10.16.0/24和172.20.16.0/24);
  • 第一臺docker服務器上運行容器test1和test2,第二臺docker服務器運行容器test3和test4。
  • 最終實現跨主機的同網段容器互相通信。

開始配置:

1、第一臺docker服務器配置如下

[root@docker01 ~]# ip link set ens33 promisc on       # 開啟ens33網卡的混雜模式
#也就是開啟網卡的多個虛擬interface(接口) 
[root@docker01 ~]# ip link show ens33   # 確定查看的信息包含以下標紅的字樣
2: ens33: <BROADCAST,MULTICAST,'PROMISC',UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
  link/ether 00:0c:29:9f:33:9f brd ff:ff:ff:ff:ff:ff
[root@docker01 ~]# modinfo 8021q
 #查看是否加載8021q模塊,如果有信息返回,則表示該模塊已經加載

modinfo 8021q命令返回的信息如下

[root@docker01 ~]# modprobe 8021q   #若沒有加載8021q模塊,則執行此命令
[root@docker01 ~]# cd /etc/sysconfig/network-scripts/
[root@docker01 network-scripts]# vim ifcfg-ens33 
           ...................
BOOTPROTO=manual       # 將此配置項改為“manual”,也是手動的意思
[root@docker01 network-scripts]# cp -p ifcfg-ens33 ifcfg-ens33.10       # 復制一份網卡配置文件,-p保留原本文件的屬性
[root@docker01 network-scripts]# vim ifcfg-ens33.10 
BOOTPROTO=none 
NAME=ens33.10        #注意更改名稱
DEVICE=ens33.10   #注意更改名稱
ONBOOT=yes
IPADDR=192.168.10.11       # 給虛擬網卡設置一個IP
PREFIX=24
GATEWAY=192.168.10.2
VLAN=yes
[root@docker01 network-scripts]# cp ifcfg-ens33.10 ifcfg-ens33.20 
[root@docker01 network-scripts]# vim ifcfg-ens33.20 
BOOTPROTO=none
NAME=ens33.20
DEVICE=ens33.20
ONBOOT=yes
IPADDR=192.168.20.10        # 注意,此處的IP與ens33.10并不在同一網段
PREFIX=24
GATEWAY=192.168.20.2
VLAN=yes
[root@docker01 network-scripts]# ifdown ens33;ifup ens33     #重啟網卡,使更改生效
[root@docker01 network-scripts]# ifup ens33.10   # 啟動該網卡
[root@docker01 network-scripts]# ifup ens33.20   # 啟動
[root@docker01 ~]# docker network create -d macvlan --subnet 172.10.16.0/24 --gateway 172.10.16.1 -o parent=ens33.10 mac_net10
#創建一個macvlan網絡,給其定義一個網段、網關及綁定到ens33.10
[root@docker01 ~]# docker network create -d macvlan --subnet 172.20.16.0/24 --gateway 172.20.16.1 -o parent=ens33.20 mac_net20
#創建一個macvlan網絡,給其定義一個網段、網關及綁定到ens33.20
#接下來分別基于剛剛創建的macvlan網絡運行一個容器

2、第二臺docker服務器配置如下(基本與第一臺操作類似,要注意IP不要沖突)

[root@docker02 ~]# ip link set ens33 promisc on    # 開啟混雜模式
[root@docker02 ~]# ip link show ens33 
2: ens33: <BROADCAST,MULTICAST,'PROMISC',UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
  link/ether 00:0c:29:b5:bc:ed brd ff:ff:ff:ff:ff:ff
[root@docker02 ~]# modinfo 8021q
返回信息可參考圖一
[root@docker02 ~]# modprobe 8021q   #若沒有加載8021q模塊,則執行此命令
[root@docker02 ~]# cd /etc/sysconfig/network-scripts/
[root@docker02 network-scripts]# vim ifcfg-ens33 
      ...............#省略部分內容
BOOTPROTO=manual    
[root@docker02 network-scripts]# scp root@192.168.171.151:/etc/sysconfig/network-scripts/ifcfg-ens33.* .         # 要注意后面的“.”
ifcfg-ens33.10                            100% 128  83.4KB/s  00:00  
ifcfg-ens33.20                            100% 124  75.0KB/s  00:00 
[root@docker02 network-scripts]# vim ifcfg-ens33.10 
BOOTPROTO=none
NAME=ens33.10
DEVICE=ens33.10
ONBOOT=yes
IPADDR=192.168.10.11      # 更改IP,以防和第一臺沖突
PREFIX=24
GATEWAY=192.168.10.2
VLAN=yes
[root@docker02 network-scripts]# vim ifcfg-ens33.20 

BOOTPROTO=none
NAME=ens33.20
DEVICE=ens33.20
ONBOOT=yes
IPADDR=192.168.20.11
PREFIX=24
GATEWAY=192.168.20.2
VLAN=yes
[root@docker02 network-scripts]# ifdown ens33;ifup ens33     # 重啟網卡 ,使配置生效
[root@docker02 network-scripts]# ifup ens33.10   # 啟動網卡
[root@docker02 network-scripts]# ifup ens33.20
#接下來創建macvlan網絡,與第一臺docker服務器創建的網絡一樣
[root@docker02 ~]# docker network create -d macvlan --subnet 172.10.16.0/24 --gateway 172.10.16.1 -o parent=ens33.10 mac_net10
[root@docker02 ~]# docker network create -d macvlan --subnet 172.20.16.0/24 --gateway 172.20.16.1 -o parent=ens33.20 mac_net20 
[root@docker02 ~]# docker run -itd --name test3 --network mac_net10 --ip 172.10.16.11 busybox
[root@docker02 ~]# docker run -itd --name test4 --network mac_net20 --ip 172.20.16.21 busybox

配置至此,即可進行ping測試了,如果配置無誤,則test3應該和test1互通(因為其都是基于mac_net10網絡);test4應該和test2互通(同理)。

但test3和test1不能和test4和test2互通(因為其不是基于同一個虛擬局域網)。

容器test3 ping 容器test1測試(注意:若是使用vmware虛擬機進行測試,由于vmware的特性,需將其網絡適配器改為“橋接模式”,而不是NAT模式等。否則無法通信)


容器test4 ping 容器test2測試:


至此,跨主機網絡多網段已經實現,同樣,各個容器無法與外網進行通信。若有耐心,還是建議閱讀docker官方文檔

到此這篇關于Docker 容器跨主機多網段通信解決方案的文章就介紹到這了,更多相關Docker 容器跨主機多網段通信內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:巴中 佛山 南寧 安陽 衡水 晉中 畢節 云南

巨人網絡通訊聲明:本文標題《詳解Docker 容器跨主機多網段通信解決方案》,本文關鍵詞  詳解,Docker,容器,跨,主機,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解Docker 容器跨主機多網段通信解決方案》相關的同類信息!
  • 本頁收集關于詳解Docker 容器跨主機多網段通信解決方案的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    日韩女优电影在线观看| 亚洲自拍偷拍麻豆| 久久国产精品99精品国产 | 日本一区二区久久| 韩国精品在线观看| 日本一卡二卡在线播放| 久久综合成人精品亚洲另类欧美 | 日本黄色特级片| 欧美v亚洲v综合ⅴ国产v| 日本最新不卡在线| 中文字幕一二三四区| 欧美电影免费观看高清完整版在线 | 精品久久久久久久久久久久包黑料 | 老司机午夜精品| 国产综合精品在线| 久久久久久久电影| 国产精品69久久久久水密桃| 小嫩苞一区二区三区| 中文字幕中文在线不卡住| 不卡的av在线| 色8久久人人97超碰香蕉987| 中文字幕一区不卡| 91免费视频网址| 欧美日韩亚洲综合在线| 亚洲成av人片观看| 大地资源二中文在线影视观看| 欧美成人女星排名| 国产一区视频在线看| 国产精品白丝喷水在线观看| 综合激情成人伊人| 亚洲国产精品第一页| 日韩欧美在线不卡| 国产美女主播视频一区| 少妇aaaaa| 亚洲一区在线播放| 国产精品成人一区二区三区电影毛片 | 中文字幕无码人妻少妇免费| 精品久久久三级丝袜| 国产91高潮流白浆在线麻豆| 日本道精品一区二区三区| 亚洲va中文字幕| 手机看片福利视频| 亚洲天堂网中文字| 中国黄色片视频| 久久久三级国产网站| 成人av电影在线网| 欧美一区二区三区四区五区| 国产一区视频导航| 欧美亚洲动漫精品| 久热成人在线视频| 色婷婷久久一区二区三区麻豆| 香蕉久久一区二区不卡无毒影院| 一级肉体全黄裸片| 亚洲视频免费看| 成人影视免费观看| 亚洲欧洲在线观看av| 污片免费在线观看| 日本一区二区三区国色天香| 成年人看片网站| 久久久高清一区二区三区| 91丨porny丨首页| 精品久久国产字幕高潮| 9色porny自拍视频一区二区| 日韩一区二区在线免费观看| 粉嫩绯色av一区二区在线观看 | 国产欧美日本一区视频| 无码国产精品一区二区高潮| 久久中文娱乐网| 免费看91视频| 亚洲国产精品ⅴa在线观看| 午夜不卡久久精品无码免费| 欧美高清在线精品一区| 国产精品久久无码| 亚洲日本青草视频在线怡红院| 国产全是老熟女太爽了| 一区二区三区欧美激情| 91精品国自产在线| 视频在线观看一区二区三区| 日韩欧美中文字幕视频| 蜜桃精品在线观看| 欧美视频一区在线| 丰满放荡岳乱妇91ww| 精品欧美久久久| 精品人妻人人做人人爽夜夜爽| 国产欧美日韩在线观看| 国产白嫩美女无套久久| 亚洲精品视频在线观看免费| 成年人视频软件| 免费日韩伦理电影| 欧美日韩一级二级三级| 成人av电影免费在线播放| 久久欧美一区二区| 香港三级日本三级| 亚洲一区在线观看视频| 男人的天堂久久久| 韩国女主播成人在线观看| 日韩亚洲电影在线| 在线观看一区二区三区四区| 亚洲色图另类专区| 国产黄在线免费观看| 国产麻豆精品视频| 欧美精品一区二区三区在线播放| 怡红院一区二区| 亚洲在线一区二区三区| 色婷婷综合五月| 顶级嫩模精品视频在线看| 国产婷婷色一区二区三区四区| 日本黄色网址大全| 五月天亚洲婷婷| 欧美日韩国产另类一区| 91在线高清观看| 自拍av一区二区三区| 丝袜美腿小色网| 高清成人在线观看| 中文字幕av资源一区| 人妻无码一区二区三区免费| 精品亚洲国产成人av制服丝袜| 日韩精品在线看片z| 双性尿奴穿贞c带憋尿| 日韩高清国产一区在线| 8v天堂国产在线一区二区| 不许穿内裤随时挨c调教h苏绵| 一区二区三区免费网站| 在线观看视频一区二区欧美日韩| av亚洲精华国产精华精华| 99riav久久精品riav| 国产美女福利视频| 国产精品88888| 日本一区二区在线不卡| 登山的目的在线| 福利电影一区二区三区| 国产精品嫩草99a| 一级黄色录像视频| 91网址在线看| 亚洲午夜日本在线观看| 91精品在线免费观看| 国产在线观看无码免费视频| 蜜桃视频在线一区| 精品国产一区二区三区忘忧草| 国产成人福利在线| 韩国三级电影一区二区| 欧美高清在线精品一区| 色婷婷av一区| 国偷自产av一区二区三区麻豆| 亚洲成人免费看| 日韩欧美一卡二卡| 免费一级黄色录像| 成人免费视频一区| 一区二区视频免费在线观看| 欧美久久久久免费| 精品少妇一区二区三区免费观| 狠狠v欧美v日韩v亚洲ⅴ| 欧美国产精品一区二区三区| 可以直接看的黄色网址| 久久精品无码一区二区三区毛片 | 亚洲人午夜精品天堂一二香蕉| 欧美专区亚洲专区| 亚洲精品在线视频免费观看| 精品一区在线看| 亚洲天堂精品在线观看| 欧美日韩高清不卡| 国产高清一区二区三区四区| 成人综合婷婷国产精品久久 | 国产真人做爰视频免费| 捆绑调教一区二区三区| 欧美激情中文字幕一区二区| 91成人免费网站| 中文字幕在线观看的网站| 国产精品 日产精品 欧美精品| 亚洲欧美二区三区| 日韩欧美国产三级电影视频| 国产精品视频看看| 一二三区视频在线观看| 精一区二区三区| 亚洲乱码国产乱码精品精可以看 | 欧美三级视频在线播放| 欧美一区二区三区成人精品| 成人午夜免费av| 日本欧美肥老太交大片| 国产精品久久久久婷婷二区次| 欧美精品1区2区| 国产极品美女在线| 麻豆精品国产传媒av| 国产成人福利片| 首页欧美精品中文字幕| 中文字幕中文字幕中文字幕亚洲无线| 91精品国产综合久久精品图片| 国产美女高潮视频| 中国极品少妇videossexhd | 久久久综合网站| 精品视频123区在线观看| 久久久久久成人网| 制服丝袜在线第一页| 国产精品一色哟哟哟| 五月天中文字幕一区二区| 中文字幕五月欧美| 26uuu色噜噜精品一区二区| 欧美色视频在线| 小早川怜子一区二区的演员表| 国产精品久久无码|