docker weave网络

Posted 青衫解衣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker weave网络相关的知识,希望对你有一定的参考价值。

docker weave网络是将多个宿主机上的docker应用容器进行建立连接相互访问。
Weave Net 路由器相互建立 TCP 连接,通过该连接执行协议握手并随后交换 ​​拓扑​​信息。如果这样配置,这些连接将被加密。对等点还建立 UDP“连接”,可能是加密的,它携带封装的网络数据包。这些“连接”是双工的,可以穿越防火墙。

docker

环境

docker2台宿主机:

主机名

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 docker容器

[root@es1 weave-2.8.1]# docker ps

docker

查看weave建立连接信息

[root@harbor weave-2.8.1]# weave status connections

docker

相互之间已经建立连接

docker

docker容器使用加入weave网络

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

docker

第二种方法使用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

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

docker

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:6783 96:97:48:c2:1e:8a(harbor) established
96:97:48:c2:1e:8a(harbor)
<- 192.168.0.110:48422 de:f0:d4:1c:4a:59(es1) established

以上是关于docker weave网络的主要内容,如果未能解决你的问题,请参考以下文章

Docker网络解决方案-Flannel部署记录

Docker网络解决方案-Flannel部署记录

centos7下安装docker(15.6docker跨主机网络---Weave)

docker (centOS 7) 使用笔记5 - weave网络

Weave 如何与外网通信?- 每天5分钟玩转 Docker 容器技术(66)

如何使用 Weave 网络?- 每天5分钟玩转 Docker 容器技术(63)