久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

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

      一、詳解Docker容器的通信

      默認情況下,啟動docker時會采用bridge的網(wǎng)絡(luò)鏈接方式,查看方式

      sudo docker inspect CONTAINER

      且網(wǎng)橋為docker0,docker0為啟動docker服務(wù)時會自動創(chuàng)建的一個虛擬網(wǎng)卡

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

      具體的通信方式為:

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

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

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

      sudo yum install bridge-utils -y

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

      brctl show

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

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

      Ip link show

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

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

      Docker network inspect bridge

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

      具體查看容器的信息

      sudo docker container inspect web1

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

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

      首先下載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.我們最開始添加兩個網(wǎng)絡(luò)名稱空間用來模擬網(wǎng)絡(luò)隔離

      Ip netns add r1

      Ip netns add r2

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

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

      默認不會激活該對網(wǎng)卡

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

      2.將該對網(wǎ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地址 并啟動

      [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ò)名稱隔離的方式進行網(wǎng)絡(luò)隔離

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