docker weave网络

从来好事天生俭,自古瓜儿苦后甜。这篇文章主要讲述docker weave网络相关的知识,希望能为你提供帮助。
docker weave网络是将多个宿主机上的docker应用容器进行建立连接相互访问。
Weave Net 路由器相互建立 TCP 连接,通过该连接执行协议握手并随后交换 ??拓扑??信息。如果这样配置,这些连接将被加密。对等点还建立 UDP“连接”,可能是加密的,它携带封装的网络数据包。这些“连接”是双工的,可以穿越防火墙。

docker weave网络

文章图片

环境docker2台宿主机:
主机名
【docker weave网络】 IP
harbor
192.168.0.112
es1
192.168.0.110
官网安装手册确保您运行的是 Linux(内核 3.8 或更高版本)并安装了 Docker(1.10.0 或更高版本)。
https://www.weave.works/docs/net/latest/install/installing-weave/
安装weave两台宿主机执行
sudo curl -L git.io/weave -o /usr/local/bin/weave
sudo chmod a+x /usr/local/bin/weave

weave网络建立https://www.weave.works/docs/net/latest/install/using-weave/
2台主机之间创建对等连接要在其他主机上启动 Weave Net 并创建对等连接,请运行以下命令:
####2台主机相互建立连接######
[root@harbor weave-2.8.1]# weave launch 192.168.0.110
[root@es1 weave-2.8.1]# weave launch 192.168.0.112

注意:??harbor??主机如果和es1之间有防火墙,您必须允许流量通过 TCP 6783 和 UDP 6783/6784,它们是 Weave 的控制和数据端口。


查看docker网络新增了一个weave网络驱动。
[root@es1 weave-2.8.1]# docker network ls

docker weave网络

文章图片

查看weave docker容器
[root@es1 weave-2.8.1]# docker ps

docker weave网络

文章图片

查看weave建立连接信息
[root@harbor weave-2.8.1]# weave status connections

docker weave网络

文章图片

相互之间已经建立连接
docker weave网络

文章图片

docker容器使用加入weave网络第一种方法指定网络驱动
[root@harbor ~]# docker run -it --net=weave busybox

docker weave网络

文章图片

第二种方法使用docker api:weave env的结果就是连接docker的api,运行往export设置完环境变量,后续启动的容器都会使用这个api。
[root@es1 weave-2.8.1]# weave env
export DOCKER_HOST=unix:///var/run/weave/weave.sock ORIG_DOCKER_HOST=
[root@es1 weave-2.8.1]# eval $(weave env)
[root@es1 weave-2.8.1]# docker run -it busybox

docker weave网络

文章图片

两台docker容器之间相互测试访问
docker weave网络

文章图片

weave命令补充查看当前宿主机上容器分配的ip地址
[root@es1 weave-2.8.1]# weave ps
weave:expose de:f0:d4:1c:4a:59
2558d98f9506 d2:38:9b:16:b7:6c 10.40.0.0/12

查看weave主机相互之间建立的连接关系
[root@es1 weave-2.8.1]# weave status peers
de:f0:d4:1c:4a:59(es1)
-> 192.168.0.112:678396:97:48:c2:1e:8a(harbor)established
96:97:48:c2:1e:8a(harbor)
< - 192.168.0.110:48422de:f0:d4:1c:4a:59(es1)established


    推荐阅读