使用网桥实现跨主枳容器连接
不推荐
使用OpenvSwitch实现跨主机容器连接
OpenvSwitch:
OpenvSwitch是一个高质量的、多层虚拟交换枳,使用开源Apache2.0许可协议,由NiciraNetworks开发,主要实现代码为可移植的C代码。它的目的是让大规模网络自动化可以通过编程扩展,同时仍然支持标准的管理接囗和协议(例如NetFlow,SFIOW,SPAN,RSPAN,C凵,LACP,802,lag)
GRE:通用路由协议封装:
隧道技术(Tunneling)是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据〈或负载)可以是不同协议的数据帧或包。隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送。新的帧头提供路由信息,以便通过互联网传递被封装的负载数据。
安装OpenvSwitch:apt-get install openvswitch-switch
安装网桥管理工具:apt-get install bridge-utils
操作:
- 建立ovs网桥
- 添加gre连接
- 配置docker容器虚拟网桥
- 为虚拟网桥添加ovs接囗
- 添加不同Docker容器网段路由
sudo ovs-vsctl add-bro br0
sudo ovs-vsctt add-port obr0 gre0
sudo ovs-vsCtl set tnterface gre0 type=gre opttons:remote_ip=远程IP
sudo ovs-vsctl show
使用weave实现跨主枳容器连接
weave:
建立一个虚拟的网络,用于将运行在不同主机的Docker容器连接起来
操作:
- 安装weave
- 启动weave
weave launch
- 连接不同主机
- 通过weave启动容器
Docker网络解决方案-Weave部署记录-眼眸刻着你的微笑
启动weave:
weave launch weave
关闭weave:
docker stop weave
weave stop
docker rm weave
绑定容器:
weave attach IP NAME
容器互联:
weave connect 对方宿主机IP
weave forget ip
断开连接
weave给容器指定的IP地址会随着容器的重启而消失。