共計(jì) 1176 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。
如何在 overlay 中運(yùn)行容器,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
今天將運(yùn)行一個(gè) busybox 容器并連接到 ov_net1。
查看容器的網(wǎng)絡(luò)配置:
bbox1 有兩個(gè)網(wǎng)絡(luò)接口 eth0 和 eth2。eth0 IP 為 10.0.0.2,連接的是 overlay 網(wǎng)絡(luò) ov_net1。eth2 IP 172.17.0.2,容器的默認(rèn)路由是走 eth2,eth2 是哪兒來(lái)的呢?
其實(shí),docker 會(huì)創(chuàng)建一個(gè) bridge 網(wǎng)絡(luò)“docker_gwbridge”,為所有連接到 overlay 網(wǎng)絡(luò)的容器提供訪(fǎng)問(wèn)外網(wǎng)的能力。
從 docker network inspect docker_gwbridge 輸出可確認(rèn) docker_gwbridge 的 IP 地址范圍是 172.17.0.0/16,當(dāng)前連接的容器就是 bbox1(172.17.0.2)。
docker network inspect docker_gwbridge
[
……
IPAM : {
Driver : default ,
Options : null,
Config : [
{
Subnet : 172.17.0.0/16 ,
Gateway : 172.17.0.1
}
]
},
Internal : false,
Attachable : false,
Containers : {
100dd1207eb8412a81c980dcd191d00eb4377a7a175a806a26038e8c12259766 : {
Name : gateway_100dd1207eb8 ,
EndpointID : 5077a2bfef80c695661f555412c3679b1a309cbba8a2f1a3247d6b414d35b819 ,
MacAddress : 02:42:ac:11:00:02 ,
IPv4Address : 172.17.0.2/16 ,
IPv6Address :
}
},
……
而且此網(wǎng)絡(luò)的網(wǎng)關(guān)就是網(wǎng)橋 docker_gwbridge 的 IP 172.17.0.1。
這樣容器 bbox1 就可以通過(guò) docker_gwbridge 訪(fǎng)問(wèn)外網(wǎng)。
如果外網(wǎng)要訪(fǎng)問(wèn)容器,可通過(guò)主機(jī)端口映射,比如:
docker run -p 80:80 -d –net ov_net1 –name web1 httpd
驗(yàn)證完外網(wǎng)的連通性。
關(guān)于如何在 overlay 中運(yùn)行容器問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注丸趣 TV 行業(yè)資訊頻道了解更多相關(guān)知識(shí)。