使用PipWork解決docker 網絡連接問題:
pipework是一個能夠幫助我們在複雜的系統中,建立容器間的網絡互聯的工具。本帖採用一個實例說明如何使用pipenetwork將不同host上的兩個容器互聯起來。
環境
[root@kuber-minion ~]# uname -a
Linux kuber-minion 3.10.0-123.13.2.el7.x86_64 #1 SMP Thu Dec 18 14:09:13 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@kuber-minion ~]# docker -v
Docker version 1.3.2, build 39fa2fa/1.3.2
安裝pipework
[root@kuber-minion ~]# git clone https://github.com/jpetazzo/pipework
[root@kuber-minion ~]# cd pipework/
[root@kuber-minion pipework]# ls
LICENSE pipework README.md
[root@kuber-minion pipework]# cp pipework /usr/bin
測試步驟
host1
docker pull centos
docker run -i -t --net=none --name centos centos:7 /bin/bash
pipework br0 centos 172.28.1.2/[email protected]
brctl addif br0 eth0
ip addr add 172.28.1.1/24 dev br0
host2
docker pull centos
docker run -i -t --net=none --name centos centos:7 /bin/bash
pipework br0 centos 172.28.1.4/[email protected]
brctl addif br0 eth0
ip addr add 172.28.1.3/24 dev br0
網絡示意圖
圖中vthA和vethB是一對”peer” interface均由pipework創建,添加到br0也有pipework完成。本帖只是給出基於bridge的一個實例,後續會繼續分析pipework的原理及其支持的ovs和host網絡模式。
http://it.taocms.org/03/7129.htm
http://bbs.chinaunix.net/thread-4113184-1-1.html