- 使用网桥实现跨主机容器连接
- 修改/etc.default/docker文件
- -b 指定使用自定义网桥
- -b = br0
- -fixed-cidr限制ip地址分配范围
- IP地址划分:
- Host1:10.211.55.64/26
- 地址范围:10.21.55.65~10.211.55.126
- Host2:192.168.59.128/26
- 地址范围:10.211.55.129~10.211.55.190
- -b 指定使用自定义网桥
- 优点:配置简单,不依赖第三方软件
- 缺点:
- 与主机在同网段,需要小心划分IP地址
- 需要有网段控制权,在生产环境中不易实现
- 不容易管理
- 兼容性不佳
- 修改/etc.default/docker文件
==================================================
- 使用Open vSwitch实现跨主机容器连接(虚拟的交换机软件)
- Open vSwitch是一个高质量的、多层虚拟交换机,使用开源Apache2.0许可协议,由Nicira Networks开发,主要实现代码为可移植的C代码。它的目的是让大规模网络自动化可以通过编程扩展,同时任然支持标准的管理接口和协议(列如NetFlow、SFlow、SPAN、RSPAN、CLI、LACP、802.lag)
- 环境准备
- Mac OS X + Virtualbox
- 两台 Ubuntu14.04 虚拟机
- 双网卡,一张,Host-Only 一张NAT
- 分别在两台主机安装Open vSwitch
- apt-get install openvswitch-switch
- 安装网桥管理工具:
- apt-get install bridge-utils
- IP地址:
- Host1:192.168.59.103
- Host2:192.168.59.104
- 操作:
- 建立ovs网桥
- 查看ovs状态: sudo ovs-vsctl show
- 创建网桥obr0: sudo ovs-vsctl add-br obr0
- 添加gre连接
- 添加gre0接口: sudo ovs-vsctl add-port obr0 gre0
- 设定接口,同时指定远程虚拟机地址:sudo ovs-vsctl set interface gre0 type=gre options:remote_ip=192.168.59.104
- 查看ovs状态: sudo ovs-vsctl show
- 配置docker容器虚拟网桥
- 新建一个网桥br0 : sudo brctl addbr bro
- 为br0设置网络地址: sudo ifconfig br0 192.168.1.1 netmask 255.255.255.0
- 为br0网桥添加ovs网桥的连接:sudo brctl addlf br0 obr0
- 查看当前网桥的连接状态:sudo brctl show
- 为虚拟网桥添加ovs接口
- 添加不同Docker容器网段路由
- 建立ovs网桥
=======================================================
- 使用weave实现跨主机容器连接
- 建立一个虚拟的网络,用于将运行在不同主机的Docker容器连接起来
- 官网: http://weave.works
- GitHub:https://github.com/weaveworks/weave#readme
- 环境准备
- Mac OS X + Virtualbox
- 两台 Ubuntu14.04 虚拟机
- 双网卡,一张,Host-Only 一张NAT
- IP地址:
- Host1:192.168.59.103
- Host2:192.168.59.104
- 操作
- 安装weave
- sudo wget -o /user/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
- sudo chmod a+x /usr/bin/weave
- 在安装weave的docker主机上启动weave
- weave launch 在dockerHost1上执行
- 在docker Host2上运行weave,带上dockerHost1的IP地址
- weave launch 192.168.xx.xx
- 使用weave创建容器
- c2=$(weave run 192.168.1.2/24 -it ubuntu /bin/bash)
- 连接不同主机
- 通过weave指定IP地址来启动容器
- 安装weave