Docker容器的跨主机访问

  1. 使用网桥实现跨主机容器连接
    1. 修改/etc.default/docker文件
      1. -b 指定使用自定义网桥
        1. -b = br0
      2. -fixed-cidr限制ip地址分配范围
        1. IP地址划分:
        2. Host1:10.211.55.64/26
          1. 地址范围:10.21.55.65~10.211.55.126
        3. Host2:192.168.59.128/26
          1. 地址范围:10.211.55.129~10.211.55.190
    2. 优点:配置简单,不依赖第三方软件
    3. 缺点:
      1. 与主机在同网段,需要小心划分IP地址
      2. 需要有网段控制权,在生产环境中不易实现
      3. 不容易管理
      4. 兼容性不佳

==================================================

  1. 使用Open vSwitch实现跨主机容器连接(虚拟的交换机软件)
    1. Open vSwitch是一个高质量的、多层虚拟交换机,使用开源Apache2.0许可协议,由Nicira Networks开发,主要实现代码为可移植的C代码。它的目的是让大规模网络自动化可以通过编程扩展,同时任然支持标准的管理接口和协议(列如NetFlow、SFlow、SPAN、RSPAN、CLI、LACP、802.lag)
    2. 环境准备
      1. Mac OS X + Virtualbox
      2. 两台 Ubuntu14.04 虚拟机
      3. 双网卡,一张,Host-Only 一张NAT
      4. 分别在两台主机安装Open vSwitch
        1. apt-get install openvswitch-switch
      5. 安装网桥管理工具:
        1. apt-get install bridge-utils
      6. IP地址:
        1. Host1:192.168.59.103
        2. Host2:192.168.59.104
    3. 操作:
      1. 建立ovs网桥
        1. 查看ovs状态: sudo ovs-vsctl show
        2. 创建网桥obr0: sudo ovs-vsctl add-br obr0
      2. 添加gre连接
        1. 添加gre0接口: sudo ovs-vsctl add-port obr0 gre0
        2. 设定接口,同时指定远程虚拟机地址:sudo ovs-vsctl set interface gre0 type=gre options:remote_ip=192.168.59.104
        3. 查看ovs状态: sudo ovs-vsctl show
      3. 配置docker容器虚拟网桥
        1. 新建一个网桥br0 : sudo brctl addbr bro
        2. 为br0设置网络地址: sudo ifconfig br0 192.168.1.1 netmask 255.255.255.0
        3. 为br0网桥添加ovs网桥的连接:sudo brctl addlf br0 obr0
        4. 查看当前网桥的连接状态:sudo brctl show
      4. 为虚拟网桥添加ovs接口
      5. 添加不同Docker容器网段路由

=======================================================

  1. 使用weave实现跨主机容器连接
    1. 建立一个虚拟的网络,用于将运行在不同主机的Docker容器连接起来
    2. 官网: http://weave.works
    3. GitHub:https://github.com/weaveworks/weave#readme
    4. 环境准备
      1. Mac OS X + Virtualbox
      2. 两台 Ubuntu14.04 虚拟机
      3. 双网卡,一张,Host-Only 一张NAT
      4. IP地址:
        1. Host1:192.168.59.103
        2. Host2:192.168.59.104
    5. 操作
      1. 安装weave
        1. sudo wget -o /user/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
        2. sudo chmod a+x /usr/bin/weave
      2. 在安装weave的docker主机上启动weave
        1. weave launch 在dockerHost1上执行
        2. 在docker Host2上运行weave,带上dockerHost1的IP地址
          1. weave launch 192.168.xx.xx
        3. 使用weave创建容器
          1. c2=$(weave run 192.168.1.2/24 -it ubuntu /bin/bash)
      3. 连接不同主机
      4. 通过weave指定IP地址来启动容器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值