Docker 网络——Weave for Docker

14 Weave for Docker

Weave 是由Weaveworks针对Docker网络管理开发的,类似于Flannel, Calico 和 Docker重叠网络。Weave处理Docker多主机网络并且管理Docker不同主机上的网络合并,跟另外三种方案相比,weave提供更多特性和选择。

Weave简介

Weave创建一个虚拟网络,跨多台主机连接Docker。在不同主机上的Docker能够互相通信,跟在同一个局域网中一样,在这个局域网中也支持广播。除此之外Docker能够通过主机名互相发现,通过执行Weave DNS发现模块实现,在其它多主机网络解决方案中是不支持的。

Weave也能穿越防火墙并在部署连接的网络中操作。数据包通过最短路径传输到目标主机容器,即使这台主机隐藏在防火墙后,并且发送者主机不能直接访问目标主机。流量也能够被加密,允许主机穿过不受信的网络建立连接。

Weave和Docker可以运行在单主机或重叠网络上,所以在Docker中Weave需要一块独立的网卡,在主机上的weave虚拟网卡能抓取到来自Docker的所有数据包。

安装和配置

环境准备 
两台或多台主机(虚机或实机)需要通过weave安装Docker集群,这里使用两台主机(node1:192.168.56.10, node2:192.168.56.20),Ubuntu 14.04

安装和运行Weave集群

 

 

sudo wget -O /usr/local/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
sudo chmod a+x /usr/local/bin/weave
启动weave路由器,这个路由器其实也是在docker中启动的:

启动weave 
在Node1执行
[root@h-46mow360 ~]# weave launch

[root@h-46mow360 ~]# ifconfig

启动weave 
在Node2执行
[root@h-46mow360 ~]# weave launch 192.168.56.10

[root@h-46mow360 ~]# ifconfig


ubuntu@node1:~$ weave status connections
<- 192.168.56.20:38183   established fastdp 4e:55:70:61:4d:57(node2)


运行Docker

Weave集群启动后,我们就可以在两台节点上运行Docker了

ubuntu@node1:~$ weave run -itd --name=worker-1 ubuntu:14
ubuntu@node2:~$ weave run -itd --name=worker-2 ubuntu:14

如果不用weave run 执行eval $(weave env)
host1# eval $(weave env)
host1# docker run --name a1 -ti weaveworks/ubuntu

检查网络 ubuntu@node1:~$ docker exec worker-1 ping ip


 

   命令

 weave launch ip

weave connect ip

weave status connections

eval $(weave env)

weave run

 

参考
http://www.cnblogs.com/feisky/p/4093717.html
http://blog.csdn.net/reedchi/article/details/51670558
https://www.weave.works/docs/net/latest/using-weave/

猜你喜欢

转载自m635674608.iteye.com/blog/2344135