使用Docker的macvlan為容器提供的橋接網路
對於了解Docker容器網路的朋友,我想對虛擬機的網路也不會陌生,畢竟我們是跟隨這個時代一起學習和進步的人。相比VM,Docker的網路也在逐步走向成熟,本文主要針對其中的macvlan做下簡單的介紹。
Why macvlan?
首先我們去對比下VM和Docker中不同的網路,這樣會比較清楚。
VM | Docker |
NAT | bridge |
Bridged | macvlan, overlay等 |
Host-only | bridge |
NAT
VM中的NAT對應Docker中的bridge,雖然叫bridge,但和VM的bridged網路卻不一樣,其原理是在宿主機上虛出一塊網卡bridge0,然後所有容器會橋接在這塊網卡的網段上。默認情況下容器能訪問外部網路,但外部網路無法訪問容器,因此需要通過暴露容器埠的方式(docker run -p)讓外部網路訪問容器內的服務。此時docker會在宿主機上建立一條NAT路由規則,將子網中容器內的服務通過埠轉發(port forwarding)的方式暴露給外部網路。當bridge網路下不去暴露任何埠,那麼基本上等同於VM的Host-only網路。
Bridged
橋接網路帶來的好處是,不需要通過NAT的埠映射即可實現容器內服務的暴露,當容器橋接到物理網路時,容器就是物理網路中的一台主機,使得容器間及容器與物理主機間實現互通。上面提到Docker中默認的bridge並不是真正的橋接網路,而Docker的網路是可以靈活自定義的,可以通過多種方式實現真正的橋接。其中可以通過overlay網路驅動實現,多主機多容器的橋接,但需要依賴額外的key-value服務來保存網路拓撲信息。另外一些第三方工具也能夠實現橋接模式,如pipework等。橋接網路可以使容器網路部署簡單化,因此Docker官方在1.12版本之後引入了macvlan網路驅動,這樣我們可以更簡單的為容器配置橋接網路。
Macvlan
顧名思義,macvlan的原理是在宿主機物理網卡上虛擬出多個子網卡,通過不同的MAC地址在數據鏈路層(Data Link Layer)進行網路數據轉發的,它是比較新的網路虛擬化技術,需要較新的內核支持(Linux kernel v3.9–3.19 and 4.0+)。
Using macvlan
另外,macvlan還支持802.1q trunk等更為複雜的網路拓撲結構,大家可以深入學習。
[via] Get started with Macvlan network driver
[via] Linux 上虛擬網路與真實網路的映射
文章來自博客園
IT精品課程:http://xue.ujiuye.com/
「勤工儉學計劃」,給你一個真正0元學習IT技術的機會!
http://www.ujiuye.com/zt/qgjx/?wt.bd=zy35844tt
找工作太難?不是你不行,我們來幫你!
http://www.ujiuye.com/zt/jyfc/?wt.bd=zy35844tt
※有哪些普通人覺得很容易實現,但卻讓程序員一籌莫展的技術?
※看直播,送大禮,我們不見不散!
※原來,你一直喜歡畫畫
※SignalR在ASP.NET MVC中的應用
※App 組件化/模塊化之路——Repository 模式
TAG:IT優就業 |
※基於Chromium的Microsoft Edge將提供Fluent Design外觀
※索尼:不會為Xperia Z5 Premium提供Meltdown和Spectre的漏洞補丁
※SpringCloud之服務提供與調用(Ribbon,Feign)
※Rackspace與HPE合作提供按使用付費的Kubernetes私有雲
※Google Search Console開始提供關於Web Light呈現搜索結果的數據
※Immersion與TDK Electronics達成為PowerHap壓電式執行器提供觸覺設計和營銷服務的協議
※Oculus與FramesDirect合作,提供Oculus Go處方透鏡
※RelayCars與起亞合作,用Magic Leap One提供汽車體驗
※Rimini Street為Solar Frontier提供一流的SAP支持服務
※微軟發布Windows Defender擴展 為Chrome用戶提供上網安全
※Microsoft Teams將提供免費版本
※微軟為所有Outlook.com用戶提供全新的Mail使用體驗
※Facebook Messenger 將提供聊天翻譯功能
※Discovery Education收購VR/AR內容提供商Inspyro
※macOS Catalina為普通MacBook機型提供了虛擬Touch Bar控制項
※Corona Corporation改由Rimini Street提供Oracle EBS支持服務
※StreetLight Data提供Traffic Diagnostics工具 優化城市交通擁堵及規劃方案
※Oculus與FramesDirect合作,為近視用戶提供定製鏡片
※Oracle 收購 SD-WAN 提供商 Talari Networks
※微軟的Unity插件Project Acoustics為VR提供雲端3D音頻