从来好事天生俭,自古瓜儿苦后甜。这篇文章主要讲述docker weave网络相关的知识,希望能为你提供帮助。
docker weave网络是将多个宿主机上的docker应用容器进行建立连接相互访问。
Weave Net 路由器相互建立 TCP 连接,通过该连接执行协议握手并随后交换 ??拓扑??信息。如果这样配置,这些连接将被加密。对等点还建立 UDP“连接”,可能是加密的,它携带封装的网络数据包。这些“连接”是双工的,可以穿越防火墙。
文章图片
环境docker2台宿主机:
主机名 | 【docker weave网络】 IP |
harbor | 192.168.0.112 |
es1 | 192.168.0.110 |
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: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
推荐阅读
- 在CentOS7上安装最新版本的Zabbix5
- Linux下文件及文件夹权限(学习笔记版)
- 架构03
- 技术分享 | web自动化测试-文件上传与弹框处理
- 使用Linux桌面壁纸应用variety发现的一些问题
- SQL基础入门
- 自动化运维工具Ansible常用模块
- 阿里云CentOS 8.x系统yum报404的解决方法
- Java实现俄罗斯方块小游戏。(附完整源代码)