标签:本质 文件中 ice 增加 name infoq github err 地址
原文发表于cu:2016-06-06
参考文档:
ovs相对linux自身的brctl工具(yum install -y bridge-utils)功能上丰富许多,如vlan功能与分布式功能。
本文主要验证利用ovs的vlan功能实现跨主机的容器隔离与通信。
#pipework本质是一个shell脚本实现,相对docker自身比较薄弱的网络配置处理方式,其可以方便地对docker网络进行配置。 [root@localhost ~]# cd /usr/local/ [root@localhost local]# git clone https://github.com/jpetazzo/pipework #可以使用软连接,复制,或增加环境变量的多种方式将pipework设为可执行命令 [root@localhost local]# ln -s /usr/local/pipework/pipework /usr/local/bin/
以下操作没有特别说明,都表示在Host1上操作,Host2按照Host1操作微调即可。
#在Host1/2下启动容器test1/2/3/4; #"--net=none"设置容器启动不带网络,由后期自定义,关于容器网络的模式请参考链接文档1 [root@localhost ~]# docker run -itd --net=none --name test1 centoswithssh [root@localhost ~]# docker run -itd --net=none --name test2 centoswithssh [root@localhost ~]# docker ps
#用pipework添加ovs0网桥,test1网络划分到vlan10,test2网络划分到vlan20; #pipework本质是采用shell脚本简化了ovs的操作,pipework及ovs的具体操作请参考链接文档3; #这里并没有为ovs0网桥设置管理ip,可以根据需要设置,请参考链接1。 [root@localhost ~]# pipework ovs0 test1 192.168.1.11/24 @10 [root@localhost ~]# pipework ovs0 test2 192.168.1.12/24 @20 [root@localhost ~]# ovs-vsctl show [root@localhost ~]# docker exec -it test1 ifconfig
#Host1与Host2中的容器需要通信,需要把两边的网络打通,即将宿主机网卡添加到虚拟网桥中 [root@localhost ~]# ovs-vsctl add-port ovs0 ens192 [root@localhost ~]# ovs-vsctl show
[root@localhost ~]# docker exec -it test1 ping 192.168.1.12 [root@localhost ~]# docker exec -it test1 ping 192.168.1.13 [root@localhost ~]# docker exec -it test1 ping 192.168.1.14 [root@localhost ~]# docker exec -it test2 ping 192.168.1.13 [root@localhost ~]# docker exec -it test2 ping 192.168.1.14
预期:
根据验证结果显示,结果符合预期,请见截图:
标签:本质 文件中 ice 增加 name infoq github err 地址
原文地址:http://www.cnblogs.com/netonline/p/7449827.html