欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          Dokcer網(wǎng)絡(luò)通信詳解,及如何利用網(wǎng)絡(luò)名稱空間模擬docker通信

          一、詳解Docker容器的通信

          默認(rèn)情況下,啟動(dòng)docker時(shí)會(huì)采用bridge的網(wǎng)絡(luò)鏈接方式,查看方式

          sudo docker inspect CONTAINER

          且網(wǎng)橋?yàn)閐ocker0,docker0為啟動(dòng)docker服務(wù)時(shí)會(huì)自動(dòng)創(chuàng)建的一個(gè)虛擬網(wǎng)卡

          docker容器之間的通信 就是通過(guò)網(wǎng)橋鏈接方式進(jìn)行的

          具體的通信方式為:

          當(dāng)我們啟動(dòng)一個(gè)docker容器時(shí),docker會(huì)自動(dòng)生成一對(duì)網(wǎng)卡,一半放在docker容器內(nèi),一半放在docker0上,容器之間的通信 就是通過(guò)docker0來(lái)進(jìn)行轉(zhuǎn)發(fā)

          docker還有其他的三種網(wǎng)絡(luò)模式,分別為host,container(不同容器公用網(wǎng)絡(luò)名稱空間,IPC,UTS),null,默認(rèn)為bridge

          sudo docker network ls 查看網(wǎng)絡(luò)

          sudo yum install bridge-utils -y

          查看網(wǎng)橋的具體信息

          brctl show

          可以看到docker0 上鏈接了4個(gè)虛擬網(wǎng)卡

          查看主機(jī)網(wǎng)絡(luò)名稱空間中的網(wǎng)卡設(shè)備

          Ip link show

          可以看到每一個(gè)網(wǎng)卡都有@標(biāo)志,其實(shí)就是鏈接到docker的另一半網(wǎng)卡

          查看docker中的網(wǎng)橋設(shè)備

          Docker network inspect bridge

          docker中的網(wǎng)橋也是docker0

          具體查看容器的信息

          sudo docker container inspect web1

          二、采用netns來(lái)模擬實(shí)現(xiàn)docker之間的通信

          可以看到docker是通過(guò)網(wǎng)絡(luò)名稱空間來(lái)進(jìn)行網(wǎng)絡(luò)隔離,不同的網(wǎng)絡(luò)名稱通過(guò)一對(duì)網(wǎng)卡進(jìn)行通信,它們是如何生成對(duì)一對(duì)網(wǎng)卡并且進(jìn)行通信的呢?下面一起來(lái)做這個(gè)操作

          首先下載ip包

          查看下網(wǎng)絡(luò)名稱的幫助信息

          ip netns

          Usage: ip netns list

          ip netns add NAME

          ip netns set NAME NETNSID

          ip [-all] netns delete [NAME]

          ip netns identify [PID]

          ip netns pids NAME

          ip [-all] netns exec [NAME] cmd …

          ip netns monitor

          ip netns list-id

          1.我們最開(kāi)始添加兩個(gè)網(wǎng)絡(luò)名稱空間用來(lái)模擬網(wǎng)絡(luò)隔離

          Ip netns add r1

          Ip netns add r2

          2..增加一對(duì)網(wǎng)卡

          ip link add name veth1.1 type veth peer name veth1.2

          默認(rèn)不會(huì)激活該對(duì)網(wǎng)卡

          可以通過(guò)ifconfig查看網(wǎng)卡是否被激活

          2.將該對(duì)網(wǎng)卡的一端移動(dòng)到網(wǎng)絡(luò)名稱空間r1中

          ip link set dev veth1.2 netns r1

          查看網(wǎng)絡(luò)名稱空間r1中的網(wǎng)卡信息

          [root@localhost ~]# ip netns exec r1 ifconfig -a

          ip [-all] netns exec [NAME] cmd …

          可以修改網(wǎng)絡(luò)名稱r1中的網(wǎng)卡名稱

          [root@localhost ~]# ip netns exec r1 ip link set dev veth1.2 name eth0

          [root@localhost ~]# ip netns exec r1 ifconfig -a

          3.給veth1.1分配IP地址 并啟動(dòng)

          [root@localhost ~]# ifconfig veth1.1 10.1.0.1/24 up

          4.給r1網(wǎng)絡(luò)名稱空間中的eth0 添加ip 并激活

          ip netns exec r1 ifconfig eth0 10.1.0.2/24 up

          5.將veth1.1網(wǎng)卡 移至網(wǎng)絡(luò)名稱空間r2

          [root@localhost ~]# ip link set dev veth1.1 netns r2

          6.激活veth1.1

          [root@localhost ~]# ip netns exec r2 ifconfig veth1.1 10.1.0.3/24 up

          7.在r2中ping r1 中的eth0網(wǎng)卡

          最后成功模擬了不同網(wǎng)絡(luò)名稱之間的通信,docker正式采用這種了網(wǎng)絡(luò)名稱隔離的方式進(jìn)行網(wǎng)絡(luò)隔離

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)