samsungsamsung 发表于 2018-5-29 12:05:54

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主机间的容器实现了互通。
  

  注:
  1.要注意主机开始了路由功能:
  # cat /proc/sys/net/ipv4/ip_forward
  1
  2.最好关闭NetworkManager服务,不然创建网桥时可能会失败。
  
页: [1]
查看完整版本: docker新建自定义网桥,实现不同主机容器互联