18 - Docker network第四講-網(wǎng)絡(luò)別名(Docker系列)

本文章來(lái)自【知識(shí)林】

在前面例子中容器與容器之間的通信都是通過(guò)網(wǎng)絡(luò)中的IP地址來(lái)完成的,這種方式顯然是不合理的,因?yàn)檫@個(gè)IP地址可能會(huì)在啟動(dòng)容器時(shí)發(fā)生變化,而且也比較難記逻澳。

那么解決這一問(wèn)題的方法就是使用網(wǎng)絡(luò)別名,容器在網(wǎng)絡(luò)是是允許有別名的暖呕,且這個(gè)別名在所在網(wǎng)絡(luò)中都可以直接訪(fǎng)問(wèn)斜做,這就類(lèi)似局域網(wǎng)在各物理機(jī)的主機(jī)名。

  • 啟動(dòng)容器指定網(wǎng)絡(luò)及網(wǎng)絡(luò)別名
docker run -d -it --name c4 --network test-net --network-alias c4-alias centos /bin/bash -c "while true; do echo hello; sleep 1; done"
e51b0ccd566709595c136d3ec41a72652843880184052324e5702bbdc82e0c22

說(shuō)明:使用--network來(lái)指定網(wǎng)絡(luò)湾揽,使用--network-alias來(lái)指定網(wǎng)絡(luò)別名陨享,也就是說(shuō)c4這個(gè)容器在test-net這個(gè)網(wǎng)絡(luò)中的別名是c4-alias,在這個(gè)網(wǎng)絡(luò)中的其他容器可以通過(guò)這個(gè)別名來(lái)訪(fǎng)問(wèn)該容器钝腺。

  • 查看網(wǎng)絡(luò)中的容器
C:\Users\zsl-pc>docker network inspect test-net
…………
"Containers": {
    "0968be0ab042ec35121774227bbecf5c5fd8a1faf0f7fd3b5ac0069af64e7709": {
        "Name": "c3",
        "EndpointID": "1a2062123d61774cd49d074f5dc8705fd0189c24657c7eb2002de4ad908810f0",
        "MacAddress": "02:42:ac:12:00:03",
        "IPv4Address": "172.18.0.3/16",
        "IPv6Address": ""
    },
    "7117f84edc269c5f61052a136791e775e26372c2b977db77081cd78533e5721e": {
        "Name": "c2",
        "EndpointID": "f3c3a919d92c1213da1a13879e75e4e2fe09ed619c65abad0751f8e76f19c2d9",
        "MacAddress": "02:42:ac:12:00:02",
        "IPv4Address": "172.18.0.2/16",
        "IPv6Address": ""
    },
    "e51b0ccd566709595c136d3ec41a72652843880184052324e5702bbdc82e0c22": {
        "Name": "c4",
        "EndpointID": "ab60608e5f26d370b71eb3f4e051f133649de35dff1bae0dcbec17684dca7cb5",
        "MacAddress": "02:42:ac:12:00:04",
        "IPv4Address": "172.18.0.4/16",
        "IPv6Address": ""
    }
}
…………

說(shuō)明:可以看出現(xiàn)在在test-net中已經(jīng)有三個(gè)容器了。

  • 查看容器詳情信息
C:\Users\zsl-pc>docker inspect c4

…………
"Networks": {
    "test-net": {
        "IPAMConfig": null,
        "Links": null,
        "Aliases": [
            "c4-alias",
            "e51b0ccd5667"
        ],
        "NetworkID": "39b38d32553cb89085bccb6d1359e3e1ebba570147c31c64c58e40d7967f9e50",
        "EndpointID": "ab60608e5f26d370b71eb3f4e051f133649de35dff1bae0dcbec17684dca7cb5",
        "Gateway": "172.18.0.1",
        "IPAddress": "172.18.0.4",
        "IPPrefixLen": 16,
        "IPv6Gateway": "",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "MacAddress": "02:42:ac:12:00:04"
    }
}
…………

說(shuō)明:通過(guò)查看c4的詳情信息可以看出赞厕,在Networks里面可以看到該容器所擁有的網(wǎng)絡(luò)為test-net(這是使用--network來(lái)指定的)艳狐,在test-net里面可以看到Aliases里面有個(gè)c4-alias(這是使用--network-alias來(lái)指定的),說(shuō)明c4的網(wǎng)絡(luò)別名已經(jīng)設(shè)置好了皿桑。

  • 通過(guò)網(wǎng)絡(luò)別名與其他容器通信

進(jìn)入test-net網(wǎng)絡(luò)中的任意容器(這里選擇c3)測(cè)試與c4通信:

C:\Users\zsl-pc>docker exec -it c3 /bin/bash
[root@0968be0ab042 /]# ping -w 4 172.18.0.4
PING 172.18.0.4 (172.18.0.4) 56(84) bytes of data.
64 bytes from 172.18.0.4: icmp_seq=1 ttl=64 time=0.071 ms
64 bytes from 172.18.0.4: icmp_seq=2 ttl=64 time=0.074 ms
64 bytes from 172.18.0.4: icmp_seq=3 ttl=64 time=0.122 ms
64 bytes from 172.18.0.4: icmp_seq=4 ttl=64 time=0.079 ms

--- 172.18.0.4 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 0.071/0.086/0.122/0.022 ms
[root@0968be0ab042 /]# ping -w 4 c4-alias
PING c4-alias (172.18.0.4) 56(84) bytes of data.
64 bytes from c4.test-net (172.18.0.4): icmp_seq=1 ttl=64 time=0.040 ms
64 bytes from c4.test-net (172.18.0.4): icmp_seq=2 ttl=64 time=0.060 ms
64 bytes from c4.test-net (172.18.0.4): icmp_seq=3 ttl=64 time=0.117 ms
64 bytes from c4.test-net (172.18.0.4): icmp_seq=4 ttl=64 time=0.084 ms

--- c4-alias ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 0.040/0.075/0.117/0.029 ms
[root@0968be0ab042 /]#

說(shuō)明:可以看出在c3容器中可以通過(guò)c4的IP地址或網(wǎng)絡(luò)別名與之通信毫目。

  • connect的方式來(lái)指定網(wǎng)絡(luò)別名
docker network connect --alias c1-alias test-net c1

說(shuō)明:使用docker network connect來(lái)使容器加入指定網(wǎng)絡(luò),通過(guò)--alias來(lái)指定該容器在指定網(wǎng)絡(luò)中的別名诲侮。

進(jìn)入c2進(jìn)進(jìn)行測(cè)試:

C:\Users\zsl-pc>docker exec -it c2 /bin/bash
[root@7117f84edc26 /]# ping -w 2 c1-alias
PING c1-alias (172.18.0.5) 56(84) bytes of data.
64 bytes from c1.test-net (172.18.0.5): icmp_seq=1 ttl=64 time=0.056 ms
64 bytes from c1.test-net (172.18.0.5): icmp_seq=2 ttl=64 time=0.297 ms

--- c1-alias ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1003ms
rtt min/avg/max/mdev = 0.056/0.176/0.297/0.121 ms
[root@7117f84edc26 /]# ping -w 2 c4-alias
PING c4-alias (172.18.0.4) 56(84) bytes of data.
64 bytes from c4.test-net (172.18.0.4): icmp_seq=1 ttl=64 time=0.066 ms
64 bytes from c4.test-net (172.18.0.4): icmp_seq=2 ttl=64 time=0.060 ms

--- c4-alias ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 0.060/0.063/0.066/0.003 ms

網(wǎng)絡(luò)別名在整個(gè)網(wǎng)絡(luò)中都是有效的镀虐,即在同網(wǎng)絡(luò)中的任意容器都可通過(guò)網(wǎng)絡(luò)別名訪(fǎng)問(wèn)對(duì)應(yīng)容器。

本文章來(lái)自【知識(shí)林】

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末沟绪,一起剝皮案震驚了整個(gè)濱河市刮便,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌绽慈,老刑警劉巖恨旱,帶你破解...
    沈念sama閱讀 221,430評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辈毯,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡搜贤,警方通過(guò)查閱死者的電腦和手機(jī)谆沃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)仪芒,“玉大人唁影,你說(shuō)我怎么就攤上這事〉嗝” “怎么了据沈?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,834評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)铆隘。 經(jīng)常有香客問(wèn)我卓舵,道長(zhǎng),這世上最難降的妖魔是什么膀钠? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,543評(píng)論 1 296
  • 正文 為了忘掉前任掏湾,我火速辦了婚禮,結(jié)果婚禮上肿嘲,老公的妹妹穿的比我還像新娘融击。我一直安慰自己,他們只是感情好雳窟,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布尊浪。 她就那樣靜靜地躺著,像睡著了一般封救。 火紅的嫁衣襯著肌膚如雪拇涤。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,196評(píng)論 1 308
  • 那天誉结,我揣著相機(jī)與錄音鹅士,去河邊找鬼。 笑死惩坑,一個(gè)胖子當(dāng)著我的面吹牛掉盅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播以舒,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼趾痘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了蔓钟?” 一聲冷哼從身側(cè)響起永票,我...
    開(kāi)封第一講書(shū)人閱讀 39,671評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后瓦侮,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體艰赞,經(jīng)...
    沈念sama閱讀 46,221評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評(píng)論 3 340
  • 正文 我和宋清朗相戀三年肚吏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了方妖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,444評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡罚攀,死狀恐怖党觅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情斋泄,我是刑警寧澤杯瞻,帶...
    沈念sama閱讀 36,134評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站炫掐,受9級(jí)特大地震影響魁莉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜募胃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評(píng)論 3 333
  • 文/蒙蒙 一旗唁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧痹束,春花似錦检疫、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,285評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至论巍,卻和暖如春烛谊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背嘉汰。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,399評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工晒来, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人郑现。 一個(gè)月前我還...
    沈念sama閱讀 48,837評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像荧降,于是被迫代替她去往敵國(guó)和親接箫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • docker network命令 docker network所有子命令如下: docker network cr...
    為了明天_加油閱讀 11,572評(píng)論 0 3
  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一朵诫、Docker 簡(jiǎn)介 Docke...
    極客圈閱讀 10,505評(píng)論 0 120
  • 五辛友、Docker 端口映射 無(wú)論如何,這些 ip 是基于本地系統(tǒng)的并且容器的端口非本地主機(jī)是訪(fǎng)問(wèn)不到的。此外废累,除了...
    R_X閱讀 1,754評(píng)論 0 7
  • 本文章來(lái)自【知識(shí)林】 在之前的講解《09 - docker run 之 Wordpress+mysql快速搭建網(wǎng)站...
    鐘述林閱讀 1,633評(píng)論 0 3
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理邓梅,服務(wù)發(fā)現(xiàn),斷路器邑滨,智...
    卡卡羅2017閱讀 134,695評(píng)論 18 139