16 - Docker network第二講-容器默認網(wǎng)絡(luò)bridge(Docker系列)

本文章來自【知識林】

在Docker服務(wù)安裝成功后默認有三個網(wǎng)絡(luò)(docker network ls):

C:\Users\zsl-pc>docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
992344cd89fe        bridge              bridge              local
06445f4f5774        host                host                local
2d964ece79b9        none                null                local

bridge:是容器的默認網(wǎng)絡(luò)祭隔,可以配置后與宿主機通信從而與互聯(lián)網(wǎng)互聯(lián)互通贺待。

hostnone:是屬于無網(wǎng)絡(luò)(可以使用docker network inspect host查看晒屎,其中無子網(wǎng)和網(wǎng)關(guān))寞埠,容器添加到這兩個網(wǎng)絡(luò)時時將容器添加到特定的容器網(wǎng)絡(luò)堆棧,是不能與外界網(wǎng)絡(luò)通信的稿静。

每當使用docker run啟動一個容器時娇掏,這個容器都會有一個默認的網(wǎng)絡(luò),即bridge空执。

可以通過inspect命令查看各網(wǎng)絡(luò)中的容器(查看bridge網(wǎng)絡(luò)):


C:\Users\zsl-pc>docker network inspect bridge
[
    {
        "Name": "bridge",
        "Id": "992344cd89fe90aa240651e7497131e5dc40539d3f1ad540f973feab6b345b3c"
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.17.0.0/16",
                    "Gateway": "172.17.0.1"
                }
            ]
        },
        "Internal": false,
        "Containers": {},
        "Options": {
            "com.docker.network.bridge.default_bridge": "true",
            "com.docker.network.bridge.enable_icc": "true",
            "com.docker.network.bridge.enable_ip_masquerade": "true",
            "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
            "com.docker.network.bridge.name": "docker0",
            "com.docker.network.driver.mtu": "1500"
        },
        "Labels": {}
    }
]

Containers中看到是空浪箭,表示目前還沒有任何容器加入到這個網(wǎng)絡(luò)。

啟動容器

docker run -d -it --name c1 centos /bin/bash -c "while true; do echo hello; sleep 1; done"

說明:啟動了一個名為c1的Centos的容器辨绊,每隔一秒輸出hello奶栖,可以通過docker logs c1查看輸出信息。

此時再查看bridge網(wǎng)絡(luò)(docker network inspect bridge):

C:\Users\zsl-pc>docker network inspect bridge
…………
"Containers": {
    "7883225f9192cb4eb68283fd47bc9435ab70dd76803ede1d926f30db3bb1101f": {
        "Name": "c1",
        "EndpointID": "e784f093b0c810f5c5112235e2e8502f6193077fa5da44a9a527aa9086894382",
        "MacAddress": "02:42:ac:11:00:02",
        "IPv4Address": "172.17.0.2/16",
        "IPv6Address": ""
    }
}
…………

說明:可以看到bridge網(wǎng)絡(luò)中已經(jīng)有一個容器c1,且IP地址是172.17.0.2宣鄙。

通過這個例子可以看出在docker run啟動容器時在未指定網(wǎng)絡(luò)情況下默認使用了bridge這個網(wǎng)絡(luò)袍镀。

在容器中查看網(wǎng)絡(luò)

C:\Users\zsl-pc>docker exec -it c1 /bin/bash
[root@7883225f9192 /]# more /etc/hosts
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2      7883225f9192
[root@7883225f9192 /]#

可以看到主機名7883225f9192對應(yīng)的IP地址正是前面所說的172.17.0.2。也可通過ifconfig查看容器內(nèi)部的網(wǎng)絡(luò)信息冻晤,如果提示:bash: ifconfig: command not found可以先安裝網(wǎng)絡(luò)工具:yum install -y net-tools苇羡,安裝完成后再輸入:ifconfig

[root@7883225f9192 /]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 0.0.0.0
        inet6 fe80::42:acff:fe11:2  prefixlen 64  scopeid 0x20<link>
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 2057  bytes 7829768 (7.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1873  bytes 105536 (103.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0就是這個容器的網(wǎng)卡信息,也可以看出IP地址是172.17.0.2鼻弧。

再啟動一個容器與其他容器通信

docker run -d -it --name c2 centos /bin/bash -c "while true; do echo hello; sleep 1; done"

說明:又啟動了一個容器设江,名稱為c2,與c1做的事情一樣温数。再使用docker network inspect bridge可以看到:

C:\Users\zsl-pc>docker network inspect bridge
…………
"Containers": {
    "7117f84edc269c5f61052a136791e775e26372c2b977db77081cd78533e5721e": {
        "Name": "c2",
        "EndpointID": "78be5b7b0737d23082607fd016664017df77ceb1d469d9a3972033796ac8d761",
        "MacAddress": "02:42:ac:11:00:03",
        "IPv4Address": "172.17.0.3/16",
        "IPv6Address": ""
    },
    "7883225f9192cb4eb68283fd47bc9435ab70dd76803ede1d926f30db3bb1101f": {
        "Name": "c1",
        "EndpointID": "859ff1ec55e136c5ec431df7baaf42af8f2a3e872a7472e16e392a9fa68d797d",
        "MacAddress": "02:42:ac:11:00:02",
        "IPv4Address": "172.17.0.2/16",
        "IPv6Address": ""
    }
}
…………

可以看出:c1c2是在一個局域網(wǎng)內(nèi)绣硝,c2的IP地址是172.17.0.3,可以嘗試互相ping一下看是否能ping通:

C:\Users\zsl-pc>docker exec -it c2 /bin/bash
[root@7117f84edc26 /]# ping -w 4 172.17.0.2
PING 172.17.0.2 (172.17.0.2) 56(84) bytes of data.
64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.044 ms
64 bytes from 172.17.0.2: icmp_seq=2 ttl=64 time=0.114 ms
64 bytes from 172.17.0.2: icmp_seq=3 ttl=64 time=0.120 ms
64 bytes from 172.17.0.2: icmp_seq=4 ttl=64 time=0.121 ms
64 bytes from 172.17.0.2: icmp_seq=5 ttl=64 time=0.115 ms

--- 172.17.0.2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3996ms
rtt min/avg/max/mdev = 0.044/0.102/0.121/0.032 ms
[root@7117f84edc26 /]# exit

C:\Users\zsl-pc>docker exec -it c1 /bin/bash
[root@7883225f9192 /]# ping -w 4 172.17.0.3
PING 172.17.0.3 (172.17.0.3) 56(84) bytes of data.
64 bytes from 172.17.0.3: icmp_seq=1 ttl=64 time=0.048 ms
64 bytes from 172.17.0.3: icmp_seq=2 ttl=64 time=0.107 ms
64 bytes from 172.17.0.3: icmp_seq=3 ttl=64 time=0.089 ms
64 bytes from 172.17.0.3: icmp_seq=4 ttl=64 time=0.113 ms
64 bytes from 172.17.0.3: icmp_seq=5 ttl=64 time=0.114 ms

--- 172.17.0.3 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3996ms
rtt min/avg/max/mdev = 0.048/0.094/0.114/0.025 ms
[root@7883225f9192 /]#

c2里面是可以ping通c1的IP地址撑刺,在c1里面也可以ping通c2的IP地址鹉胖,說明在一個網(wǎng)絡(luò)下的容器是可以相互通信的。

本文章來自【知識林】

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末够傍,一起剝皮案震驚了整個濱河市甫菠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌冕屯,老刑警劉巖寂诱,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異安聘,居然都是意外死亡痰洒,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門浴韭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丘喻,“玉大人,你說我怎么就攤上這事念颈∪郏” “怎么了?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵榴芳,是天一觀的道長嗡靡。 經(jīng)常有香客問我,道長窟感,這世上最難降的妖魔是什么讨彼? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮柿祈,結(jié)果婚禮上哈误,老公的妹妹穿的比我還像新娘酣难。我一直安慰自己,他們只是感情好黑滴,可當我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著紧索,像睡著了一般袁辈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上珠漂,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天晚缩,我揣著相機與錄音,去河邊找鬼媳危。 笑死荞彼,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的待笑。 我是一名探鬼主播鸣皂,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼暮蹂!你這毒婦竟也來了寞缝?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤仰泻,失蹤者是張志新(化名)和其女友劉穎荆陆,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體集侯,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡被啼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了棠枉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浓体。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖术健,靈堂內(nèi)的尸體忽然破棺而出汹碱,到底是詐尸還是另有隱情,我是刑警寧澤荞估,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布咳促,位于F島的核電站,受9級特大地震影響勘伺,放射性物質(zhì)發(fā)生泄漏跪腹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一飞醉、第九天 我趴在偏房一處隱蔽的房頂上張望冲茸。 院中可真熱鬧屯阀,春花似錦、人聲如沸轴术。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逗栽。三九已至盖袭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間彼宠,已是汗流浹背鳄虱。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留凭峡,地道東北人拙已。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像摧冀,于是被迫代替她去往敵國和親倍踪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,509評論 2 348

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

  • 本文章來自【知識林】 創(chuàng)建網(wǎng)絡(luò) 說明:這里創(chuàng)建了一個名為test-net的網(wǎng)絡(luò)索昂,創(chuàng)建成功后會得到該網(wǎng)絡(luò)的ID 列表...
    鐘述林閱讀 1,347評論 0 2
  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一惭适、Docker 簡介 Docke...
    極客圈閱讀 10,476評論 0 120
  • 五、Docker 端口映射 無論如何楼镐,這些 ip 是基于本地系統(tǒng)的并且容器的端口非本地主機是訪問不到的癞志。此外,除了...
    R_X閱讀 1,740評論 0 7
  • 雨總是下不涂虿…… 秋意總是讓人訴不盡的惆悵凄杯, 連出行都受到了阻礙。 褪盡了烈日的紅衫秉宿, 變得婉約憂郁了戒突。 美麗的姑...
    檸檬的春天閱讀 296評論 0 0
  • 電腦給周泉用了,我感覺我學(xué)到的東西碎片化描睦。在程序的世界里膊存,理解一些東西,興趣是最好的老師忱叭,我感覺我的定位是...
    秦月與靜靜閱讀 546評論 0 1