基于weave实现docker跨主机网络通信
前言
- IP:
- 192.168.0.10
- 192.168.0.11
- 系统版本:centos 7
- weave版本:2.8.1,下载地址:https://git.io/weave
- docker版本:18.06.3
注意:
- linux内核版本至少3.8+,但推荐3.12+,性能更好。
- docker主机名不能相同。
- 节点之间如有防火墙,必须放行6783/tcp、6783/udp和6784/udp端口。
步骤
- 安装weave(在国内的话可能需要点魔法,可以先用魔法在浏览器下载,然后再传到服务器)
curl -L git.io/weave -o /usr/local/bin/weave
- 启动weave并与其他主机建立连接。启动的时候会拉取weave镜像,建议先配置docker国内源。
weave launch
# 也可以直接指定要通信的主机
# 192.168.0.10上执行
weave launch 192.168.0.11
## 192.168.0.11上执行
weave launch 192.168.0.10
- 使用weave创建容器
# 方式一。使用该方式后创建容器就不需要指定weave网络了,而且可以使用weave自带的dns
eval $(weave env)
docker run -it busybox
# 方式二
docker run -it --rm --net=weave busybox
weave常用命令
- 查看weave主机连接信息
weave status connections
- 查看帮助信息
weave help
- 列出使用weave网络创建的容器
weave ps
weave其他功能
- 命名和发现。命名的容器会自动注册到weave dns,并可以通过容器名称通信。需要执行
eval $(weave env)
- IP地址管理(IPAM)。weave自动为容器分配位移的IP地址,可通过
weave ps
查看。 - 负载均衡。允许注册多个相同名称的容器,weave dns随机为每个请求返回地址,提供基本的负载均衡功能。
- 动态拓扑。可以在不停止或重新配置docker主机的情况下,从weave网络添加或删除docker主机
- 容错。如果有主机或网络出现故障,weave会绕过故障主机,保证两边容器继续通信。
本文来自博客园,作者:花酒锄作田,转载请注明原文链接:https://www.cnblogs.com/XY-Heruo/p/15910548.html