日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
容器如何訪問(wèn)外部世界?-每天5分鐘玩轉(zhuǎn)Docker容器技術(shù)

容器如何訪問(wèn)外部世界?- 每天5分鐘玩轉(zhuǎn) Docker 容器技術(shù)

作者:CloudMan 2017-07-04 16:23:10

云計(jì)算 下面我們討論容器如何與外部世界通信。希望對(duì)大家有所幫助。

成都創(chuàng)新互聯(lián)2013年至今,先為蘭坪等服務(wù)建站,蘭坪等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為蘭坪企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

下面我們討論容器如何與外部世界通信。這里涉及兩個(gè)方向:

容器訪問(wèn)外部世界

外部世界訪問(wèn)容器

容器訪問(wèn)外部世界

在我們當(dāng)前的實(shí)驗(yàn)環(huán)境下,docker host 是可以訪問(wèn)外網(wǎng)的。

我們看一下容器是否也能訪問(wèn)外網(wǎng)呢?

可見(jiàn),容器默認(rèn)就能訪問(wèn)外網(wǎng)。

請(qǐng)注意:這里外網(wǎng)指的是容器網(wǎng)絡(luò)以外的網(wǎng)絡(luò)環(huán)境,并非特指 internet。

現(xiàn)象很簡(jiǎn)單,但更重要的:我們應(yīng)該理解現(xiàn)象下的本質(zhì)。

在上面的例子中,busybox 位于 docker0 這個(gè)私有 bridge 網(wǎng)絡(luò)中(172.17.0.0/16),當(dāng) busybox 從容器向外 ping 時(shí),數(shù)據(jù)包是怎樣到達(dá) bing.com 的呢?

這里的關(guān)鍵就是 NAT。我們查看一下 docker host 上的 iptables 規(guī)則:

在 NAT 表中,有這么一條規(guī)則:

-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE

其含義是:如果網(wǎng)橋 docker0 收到來(lái)自 172.17.0.0/16 網(wǎng)段的外出包,把它交給 MASQUERADE 處理。而 MASQUERADE 的處理方式是將包的源地址替換成 host 的地址發(fā)送出去,即做了一次網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)。

下面我們通過(guò) tcpdump 查看地址是如何轉(zhuǎn)換的。先查看 docker host 的路由表:

默認(rèn)路由通過(guò) enp0s3 發(fā)出去,所以我們要同時(shí)監(jiān)控 enp0s3 和 docker0 上的 icmp(ping)數(shù)據(jù)包。

當(dāng) busybox ping bing.com 時(shí),tcpdump 輸出如下:

docker0 收到 busybox 的 ping 包,源地址為容器 IP 172.17.0.2,這沒(méi)問(wèn)題,交給 MASQUERADE 處理。這時(shí),在 enp0s3 上我們看到了變化:

ping 包的源地址變成了 enp0s3 的 IP 10.0.2.15

這就是 iptable NAT 規(guī)則處理的結(jié)果,從而保證數(shù)據(jù)包能夠到達(dá)外網(wǎng)。下面用一張圖來(lái)說(shuō)明這個(gè)過(guò)程:

busybox 發(fā)送 ping 包:172.17.0.2 > www.bing.com。

docker0 收到包,發(fā)現(xiàn)是發(fā)送到外網(wǎng)的,交給 NAT 處理。

NAT 將源地址換成 enp0s3 的 IP:10.0.2.15 > www.bing.com。

ping 包從 enp0s3 發(fā)送出去,到達(dá) www.bing.com。

通過(guò) NAT,docker 實(shí)現(xiàn)了容器對(duì)外網(wǎng)的訪問(wèn)。


分享題目:容器如何訪問(wèn)外部世界?-每天5分鐘玩轉(zhuǎn)Docker容器技術(shù)
路徑分享:http://www.5511xx.com/article/dpisjde.html