docker weave网络
Posted 青衫解衣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker weave网络相关的知识,希望对你有一定的参考价值。
docker weave网络是将多个宿主机上的docker应用容器进行建立连接相互访问。
Weave Net 路由器相互建立 TCP 连接,通过该连接执行协议握手并随后交换 拓扑信息。如果这样配置,这些连接将被加密。对等点还建立 UDP“连接”,可能是加密的,它携带封装的网络数据包。这些“连接”是双工的,可以穿越防火墙。
环境
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
查看weave docker容器
[root@es1 weave-2.8.1]# docker ps
查看weave建立连接信息
[root@harbor weave-2.8.1]# weave status connections
相互之间已经建立连接
docker容器使用加入weave网络
第一种方法指定网络驱动
[root@harbor ~]# docker run -it --net=weave busybox
第二种方法使用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命令补充
查看当前宿主机上容器分配的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网络的主要内容,如果未能解决你的问题,请参考以下文章
centos7下安装docker(15.6docker跨主机网络---Weave)
docker (centOS 7) 使用笔记5 - weave网络