美文网首页
Docker跨主机容器通信(1)

Docker跨主机容器通信(1)

作者: WarPrint24 | 来源:发表于2017-02-22 16:47 被阅读0次

    使用路由机制打通网络

    1,请看网络简图

    Paste_Image.png

    2,因为docker默认网卡docker0启动在默认的内部ip为172.17.42网段,所以需要修改一下其中一台宿主机(100.73.18.108)的默认网络。

    vim /etc/sysconfig/docker-network
    #修改docker启动参数(centos7下)
    DOCKER_NETWORK_OPTIONS="--bip=172.18.42.1/16"
    #在DOCKER_NETWORK_OPTIONS=后添加上面参数
    service docker stop
    #关掉docker服务
    reboot
    #重启宿主机
    

    3,等待宿主机重启完成后,启动docker服务。

    service docker start
    #启动docker
    ifconfig
    #可以查看到docker0网卡的地址已经被修改为 172.18.42.1
    

    4,在两台宿主机上面分别创建容器,选用 ubutnu镜像。
    docker run -d 3f755ca42730 ping 127.0.0.1
    #后台启动容器
    docker exec -it c4ce70de9fa2 /bin/bash
    #exec方式进入容器内部
    ifconfig
    #在容器内查看网络ip地址,并测试能否ping通,结果是无法ping通

    5,在两台宿主机上添加路由规则

    route add -net 172.17.0.0/16 gw 100.73.18.106
    #在100.73.18.108上面添加
    route add -net 172.18.0.0/16 gw 100.73.18.108
    #在100.73.18.106上面添加
    

    6,在宿主机100.73.18.106的容器(172.17.0.1)ping 宿主机100.73.18.108的容器(172.18.0.1),发现可以连通,反之,同样可以。

    Paste_Image.png

    7,此方案的优点是配置简单,性能还可以,缺点是与宿主机现有网络混淆在一起,失去了灵活性。

    相关文章

      网友评论

          本文标题:Docker跨主机容器通信(1)

          本文链接:https://www.haomeiwen.com/subject/hsdmwttx.html