17 - Docker network第三講-自定義網(wǎng)絡(luò)(Docker系列)

本文章來自【知識林】

  • 創(chuàng)建網(wǎng)絡(luò)
C:\Users\zsl-pc>docker network create test-net
39b38d32553cb89085bccb6d1359e3e1ebba570147c31c64c58e40d7967f9e50

說明:這里創(chuàng)建了一個名為test-net的網(wǎng)絡(luò),創(chuàng)建成功后會得到該網(wǎng)絡(luò)的ID

  • 列表網(wǎng)絡(luò)
C:\Users\zsl-pc>docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
86423d2ba03a        bridge              bridge              local
06445f4f5774        host                host                local
2d964ece79b9        none                null                local
39b38d32553c        test-net            bridge              local

說明:此時列表出來的結(jié)果除了默認(rèn)的三個網(wǎng)絡(luò)外,又增加了一個剛剛創(chuàng)建的test-net诫惭;其DRIVERbridge說明在創(chuàng)建網(wǎng)絡(luò)時的默認(rèn)驅(qū)動是bridgeSCOPE指定了網(wǎng)絡(luò)的作用范圍怨绣,local表示只在當(dāng)前宿主機(jī)生效。

  • 查看網(wǎng)絡(luò)詳情
C:\Users\zsl-pc>docker network inspect test-net
[
    {
        "Name": "test-net",
        "Id": "39b38d32553cb89085bccb6d1359e3e1ebba570147c31c64c58e40d7967f9e50",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1/16"
                }
            ]
        },
        "Internal": false,
        "Containers": {},
        "Options": {},
        "Labels": {}
    }
]
  • 啟動容器并指定網(wǎng)絡(luò)
docker run -d -it --name c3 --network test-net centos /bin/bash -c "while true; do echo hello; sleep 1;done"
0968be0ab042ec35121774227bbecf5c5fd8a1faf0f7fd3b5ac0069af64e7709

說明:使用指令--network來指定容器的網(wǎng)絡(luò)

  • 與名為bridge的網(wǎng)絡(luò)中的容器c2通過

《16 - Docker network第二講-容器默認(rèn)網(wǎng)絡(luò)bridge》中我們創(chuàng)建了兩個容器c1c2,這兩個容器都是屬于名為bridge的默認(rèn)網(wǎng)絡(luò)中萧吠,下面嘗試與任意一個容器通信(以c2為例纸型,其IP地址為172.17.0.3):

C:\Users\zsl-pc>docker exec -it c3 /bin/bash
[root@0968be0ab042 /]# ping 172.17.0.3
PING 172.17.0.3 (172.17.0.3) 56(84) bytes of data.
^C
--- 172.17.0.3 ping statistics ---
18 packets transmitted, 0 received, 100% packet loss, time 17008ms

說明:可以看出現(xiàn)在c3是無法與c2進(jìn)行通信的。要讓這兩個容器通信需要讓他們在同一個網(wǎng)絡(luò)里面(就像局域網(wǎng)中的物理機(jī)一樣)琼腔。

C:\Users\zsl-pc>docker network connect test-net c2

C:\Users\zsl-pc>docker inspect c2

…………
"Networks": {
    "bridge": {
        "IPAMConfig": null,
        "Links": null,
        "Aliases": null,
        "NetworkID": "86423d2ba03ab5d46d66fe39bbba75d0d47d0fcc7dcbf250fcbbaa4b0085a029",
        "EndpointID": "78be5b7b0737d23082607fd016664017df77ceb1d469d9a3972033796ac8d761",
        "Gateway": "172.17.0.1",
        "IPAddress": "172.17.0.3",
        "IPPrefixLen": 16,
        "IPv6Gateway": "",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "MacAddress": "02:42:ac:11:00:03"
    },
    "test-net": {
        "IPAMConfig": {},
        "Links": null,
        "Aliases": [
            "7117f84edc26"
        ],
        "NetworkID": "39b38d32553cb89085bccb6d1359e3e1ebba570147c31c64c58e40d7967f9e50",
        "EndpointID": "071d239a9758d380fc265345030393cee3fc6d2d746b36af44bf6a6c5aeecd60",
        "Gateway": "172.18.0.1",
        "IPAddress": "172.18.0.3",
        "IPPrefixLen": 16,
        "IPv6Gateway": "",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "MacAddress": "02:42:ac:12:00:03"
    }
}

說明:使用命令docker inspect c2查看c2容器的詳情信息時可以看到其Networks中有兩個網(wǎng)絡(luò)信息bridgetest-net說明我們已經(jīng)讓c2test-net連接在一起了圾笨,且c2test-net這個網(wǎng)絡(luò)中的IP地址是:172.18.0.3擂达,此時再來檢測c2c3的通信情況:

C:\Users\zsl-pc>docker exec -it c3 /bin/bash
[root@0968be0ab042 /]# ping -w 4 172.18.0.3
PING 172.18.0.3 (172.18.0.3) 56(84) bytes of data.
64 bytes from 172.18.0.3: icmp_seq=1 ttl=64 time=0.048 ms
64 bytes from 172.18.0.3: icmp_seq=2 ttl=64 time=0.077 ms
64 bytes from 172.18.0.3: icmp_seq=3 ttl=64 time=0.247 ms
64 bytes from 172.18.0.3: icmp_seq=4 ttl=64 time=0.137 ms
64 bytes from 172.18.0.3: icmp_seq=5 ttl=64 time=0.045 ms

--- 172.18.0.3 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3996ms
rtt min/avg/max/mdev = 0.045/0.110/0.247/0.076 ms
[root@0968be0ab042 /]#

說明:c2c3可以正常通信了,只是c2現(xiàn)在擁有兩個網(wǎng)絡(luò)信息:默認(rèn)的bridge和自定義的test-netc2可以通過bridge網(wǎng)絡(luò)與c1通信抄腔,也可以通過test-net網(wǎng)絡(luò)與c3通信赫蛇,但c1c3沒有共同的網(wǎng)絡(luò),所以它們不可以通信暂幼。

  • 從網(wǎng)絡(luò)中移除容器
C:\Users\zsl-pc>docker network disconnect bridge c2

C:\Users\zsl-pc>docker inspect c2

…………
"Networks": {
    "test-net": {
        "IPAMConfig": {},
        "Links": null,
        "Aliases": [
            "7117f84edc26"
        ],
        "NetworkID": "39b38d32553cb89085bccb6d1359e3e1ebba570147c31c64c58e40d7967f9e50",
        "EndpointID": "071d239a9758d380fc265345030393cee3fc6d2d746b36af44bf6a6c5aeecd60",
        "Gateway": "172.18.0.1",
        "IPAddress": "172.18.0.3",
        "IPPrefixLen": 16,
        "IPv6Gateway": "",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "MacAddress": "02:42:ac:12:00:03"
    }
}

說明:使用docker network disconnect命令來將容器移出網(wǎng)絡(luò)病瞳,這里將c2容器從bridge網(wǎng)絡(luò)中移除亲善,再使用docker inspect c2來查看容器詳情信息時设易,在Networks中只會看到test-net一個網(wǎng)絡(luò),此時c2將只能與c3通信蛹头,不能與c1通信顿肺。

  • 刪除網(wǎng)絡(luò)
C:\Users\zsl-pc>docker network rm test-net
Error response from daemon: network test-net has active endpoints

注意:當(dāng)網(wǎng)絡(luò)中還有容器時,此網(wǎng)絡(luò)不能被刪除渣蜗。rm后面可以跟多個網(wǎng)絡(luò)名稱屠尊,以空格隔開。

通過上面的這些例子已經(jīng)基本對Docker的網(wǎng)絡(luò)有些認(rèn)識耕拷,對Docker的的命令也有更進(jìn)一步的了解讼昆。

本文章來自【知識林】

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市骚烧,隨后出現(xiàn)的幾起案子浸赫,更是在濱河造成了極大的恐慌,老刑警劉巖赃绊,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件既峡,死亡現(xiàn)場離奇詭異,居然都是意外死亡碧查,警方通過查閱死者的電腦和手機(jī)运敢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來忠售,“玉大人传惠,你說我怎么就攤上這事〉祷荆” “怎么了涉枫?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長腐螟。 經(jīng)常有香客問我愿汰,道長困后,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任衬廷,我火速辦了婚禮摇予,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吗跋。我一直安慰自己侧戴,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布跌宛。 她就那樣靜靜地躺著酗宋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪疆拘。 梳的紋絲不亂的頭發(fā)上蜕猫,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機(jī)與錄音哎迄,去河邊找鬼回右。 笑死,一個胖子當(dāng)著我的面吹牛漱挚,可吹牛的內(nèi)容都是我干的翔烁。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼旨涝,長吁一口氣:“原來是場噩夢啊……” “哼蹬屹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起颊糜,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤哩治,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后衬鱼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體业筏,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年鸟赫,在試婚紗的時候發(fā)現(xiàn)自己被綠了蒜胖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡抛蚤,死狀恐怖台谢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情岁经,我是刑警寧澤朋沮,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站缀壤,受9級特大地震影響樊拓,放射性物質(zhì)發(fā)生泄漏纠亚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一筋夏、第九天 我趴在偏房一處隱蔽的房頂上張望蒂胞。 院中可真熱鬧,春花似錦条篷、人聲如沸骗随。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鸿染。三九已至,卻和暖如春稚瘾,著一層夾襖步出監(jiān)牢的瞬間牡昆,已是汗流浹背姚炕。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工摊欠, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人柱宦。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓些椒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親掸刊。 傳聞我的和親對象是個殘疾皇子免糕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評論 2 349

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