标签:bridge weave open-vswitch docker
主机1 :192.168.22.101 主机2:192.168.22.102
安装网桥管理工具#sudo apt-get install bridge-until
配置网卡地址# sudo vim /etc/network/interfaces
配置其中一块网卡的网络参数,另一块网卡配置参数一样,这里不在演示
重新启动网卡
# sudo /etc/init.d/networking restart
查看网络配置,发现eth0已经没有地址而br1有地址
在另一台主机上执行相同的操作,这里我们就不演示了
编辑docker的配置文件实现使用br1来启动docker
# sudo vim /etc/default/docker
--fixed-cidr 限定ip地址的分配范围
192.168.22.102配置
192.168.22.101配置
我们在192.168.22.101上启动一个容器,查看下ip地址,是否在我们分配的范围内
我们在192.168.22.102上在启动一个容器,看下ip是否在我们分配的范围内
测试一下这两个容器是否可以互联,发现完全没有问题。
open vswitch是什么?
open vswitch是一个高质量的,多层虚拟交换机,简称ovs。
拓扑
安装open vswitch
#sudo apt-get install -y openvswitch-switch
建立ovs网桥
#sudo ovs-vsctl add-br obr0
添加gre连接
# sudo ovs-vsctl add-port obr0 gre0
配置docker容器虚拟网桥,其中romote_ip指定对方ip
#sudo ovs-vsctl set interface gre0 type=gre options:romote_ip=192.168.22.101
查看一下我们的ovs配置
#sudo ovs-vsctl show
创建br0桥接到obr0
sudo brctl addbr br0
sudo ifconfig br0 192.168.200.1 netmask255.255.255.0
sudo brctl addif br0 obr0
编辑docker的配置文件
# sudo vim /etc/default/docker
向两端添加去对方的默认路由
# sudo ip route add 192.168.100.0/24 via192.168.22.101 dev eth0
在192.168.22.102上启动一个容器
在192.168.22.101上启动一个容器
测试一下网络,发现两端是可以连通的
weave是什么呢?weave创建了一个虚拟网络,用来连接部署在多台机器上的docker容器
安装weave
# sudo wget -O /usr/local/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
# sudo chmod a+x /usr/local/bin/weave
启动weave
# weave launch
主机ip地址192.168.22.102 192.168.22.105
启动第二台主机的weave 并指定对方的ip地址
#weavelaunch 192.168.22.102
在一台主机上启动一个容器
weave run192.168.200.2/24 -it --name dk1 192.168.22.103:5000/ubuntu
sudo dockerattach dk1
在另一台主机上启动一个容器
# weave run192.168.200.3/24 -it --name dk2 192.168.22.103:5000/ubuntu
sudo dockerattach dk2
测试一下网络
本文出自 “linux 虚拟化” 博客,请务必保留此出处http://itjcw.blog.51cto.com/3428881/1681737
标签:bridge weave open-vswitch docker
原文地址:http://itjcw.blog.51cto.com/3428881/1681737