• docker新建自定义网桥,实现不同主机容器互联


    不同主机间的容器网络互联,网络上的所有教程都是通过open vswitch等虚拟网桥方式实现的,但是最近本人发现可以直接通过配置网桥实现网络的互联,而不用安装配置open vswitch。在这里分享一下。

    实验环境:

    宿主机1:192.168.52.128

    宿主机2:192.168.52.135

    添加新的自定义网桥。

    
    # 宿主机1:
    
    brctl addbr br0
    
    ip addr add 192.168.110.1/24 dev br0
    
    ip link set dev br0 up
    
    为了使新建的网桥永久化,创建网桥接口文件:
    
    vi /etc/sysconfig/network-scripts/ifcfg-br0
    
    DEVICE=br0
    
    ONBOOT=yes
    
    BOOTPROTO=static
    
    IPADDR=192.168.111.1
    
    NETMASK=255.255.255.0
    
    USERCTL=no
    
    TYPE=Bridge
    
    
    # 宿主机2:
    
    brctl addbr br0
    
    ip addr add 192.168.111.1/24 dev br0
    
    ip link set dev br0 up
    
    vi /etc/sysconfig/network-scripts/ifcfg-br0
    
    DEVICE=br0
    
    ONBOOT=yes
    
    BOOTPROTO=static
    
    IPADDR=192.168.110.1
    
    NETMASK=255.255.255.0
    
    USERCTL=no
    
    TYPE=Bridge
    

    宿主机删除docker0网桥,并修改docker默认网桥为br0。

    
    ip link set dev docker0 down
    
    brctl delbr docker0
    
    vi /etc/sysconfig/docker
    
    other_args="-b=br0"
    
    service docker restart
    
    

    网络信息如下:

    测试网络:

    以上为在128创建的容器,网络段为192.168.111.0。192.168.11.100为在135上创建的容器地址。以上测试可以看到,128和135主机间的容器实现了互通。

    要注意主机开始了路由功能:

    cat /proc/sys/net/ipv4/ip_forward
    

    最好关闭NetworkManager服务,不然创建网桥时可能会失败。

    QQ:1061767621 Q群:215481318
  • 相关阅读:
    Java LinkedList 源码剖析
    Java并发编程:线程池的使用
    Java 线程池的原理与实现
    多线程JAVA篇(一)
    软件开发中会用到的图
    linux文件名匹配——通配符使用
    XModem协议
    dmesg 命令七种用法
    定位精度单位CEP、RMS、2DRMS常识
    5G NR 技术简介
  • 原文地址:https://www.cnblogs.com/gaohongyu/p/14581244.html
Copyright © 2020-2023  润新知