使用openvswitch实现跨主机docker容器互联
安装openvswitch的步骤请参考上一篇文章:http://www.cnblogs.com/xkops/p/5568167.html
环境:
192.168.3.201 node1
192.168.3.202 node2
1.在node1上创建网桥obr0,然后增加端口gre0到obr0。
ovs-vsctl add-br obr0
ovs-vsctl add-port obr0 gre0
ovs-vsctl set interface gre0 type=gre options:remote_ip=192.168.3.202
ovs-vsctl show
brctl addbr br0
ifconfig br0 192.168.1.1 netmask 255.255.255.0
brctl addif br0 obr0
brctl show
2.在node2上创建网桥obr0,然后增加端口gre0到obr0。
ovs-vsctl add-br obr0
ovs-vsctl add-port obr0 gre0
ovs-vsctl set interface gre0 type=gre options:remote_ip=192.168.3.201
ovs-vsctl show
brctl addbr br0
ifconfig br0 192.168.2.1 netmask 255.255.255.0
brctl addif br0 obr0
brctl show
3.在node1上启动容器,并查看ip地址。
docker run -it --name cct1 centos /bin/bash --使用Ctrl+p+q可以退出容器,但容器却能在后台运行。
ip: 192.168.1.2
4.在node2上启动容器,并查看ip地址。
docker run -it --name cct2 centos /bin/bash --使用Ctrl+p+q可以退出容器,但容器却能在后台运行。
ip: 192.168.2.2
5.在node1上添加路由表,使node1能到达node2定义的192.168.2.0/24网段。
ip route add 192.168.2.0/24 via 192.168.3.202 dev eth0
6.在node1上连接到容器,并测试与node2上容器的连通性。
docker attach centos
ping 192.168.2.2
7.在node2上添加路由表,使node2能到达node1定义的192.168.1.0/24网段。
ip route add 192.168.1.0/24 via 192.168.3.201 dev eth0
到此,如果没有出现任何问题的话,最后node1和node2上的两个容器之间能够互相ping通。
最新文章
- java 28 - 6 JDK7的新特性
- Java String类型数据的字节长度
- convert \uXXXX String to Unicode Characters in Python3.x
- Android MonoGame坑记
- 关于线程池ThreadPoolExecutor使用总结
- UVALive 4957 Fake scoreboard
- 从别人写的 Object-C 中 Singleton (单例) 模式 中的一些理解--备
- Android 自定义控件 优雅实现元素间的分割线 (支持3.0以下)
- 转: 深入Java虚拟机】之二:Class类文件结构
- SpringMVC连接MongoDB操作数据库
- [BZOJ1053] [HAOI2007] 反素数ant (搜索)
- 项目中BigDecimal与Double使用场景
- [原创]利用Browser协议探测内网主机操作系统版本(无需端口无视防火墙)
- tomcat7的catalina.sh配置说明
- pca , nmds , pcoa 图添加分组的椭圆
- SQL2008:WITH MOVE 子句可用于重新定位一个或多个文件
- XML读取(string形式进行读取)
- centos 安装或更新最新版本软件包(git python etc)的方法 SCL IUS
- Sublime Text webstorm等编译器快速编写HTML/CSS代码的技巧
- Java Character 类