weave网络单主机容器间通信

实验环境

已安装docker一台linux,并weave也安装启动完成,安装步骤参考上一篇文档

实验目的

单主机内两个使用weave网络的容器可以通信

实验步骤

进入weave网络范围

[root@localhost ~]# eval $(weave env)
运行一个容器bbox1,默认会使用weave网络
[root@localhost ~]# docker run -itd --name bbox1 busybox
e037fae99556cb18885263eea8828209da046bd5ff706f0f9e75191f009e0d1c

获取该容器ip,10.32.0.1

[root@localhost ~]# docker exec -it bbox1 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
14: eth0@if15: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue 
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
16: ethwe@if17: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1376 qdisc noqueue 
    link/ether 12:26:df:0d:77:f6 brd ff:ff:ff:ff:ff:ff
    inet 10.32.0.1/12 brd 10.47.255.255 scope global ethwe
       valid_lft forever preferred_lft forever

运行第二个容器bbox2

[root@localhost ~]# docker run -itd --name bbox2 busybox
ed83560fff3a6e0d8414b637a0e3877e6dac028f4256621890bc17d4789176c9

查看bbox2的ip,10.32.0.2

[root@localhost ~]# docker exec -it bbox2 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
20: eth0@if21: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue 
    link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
22: ethwe@if23: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1376 qdisc noqueue 
    link/ether 32:3d:39:32:05:1c brd ff:ff:ff:ff:ff:ff
    inet 10.32.0.2/12 brd 10.47.255.255 scope global ethwe
       valid_lft forever preferred_lft forever

测试容器间连通,如果这个ping容器名ping不同,请进行防火墙策略的清除iptables -F,或者ping容器的ip地址也是可以的

[root@localhost ~]# docker exec -it bbox2 ping -c 2 bbox1
PING bbox1 (10.32.0.1): 56 data bytes
64 bytes from 10.32.0.1: seq=0 ttl=64 time=0.047 ms
64 bytes from 10.32.0.1: seq=1 ttl=64 time=0.090 ms

--- bbox1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.047/0.068/0.090 ms

单主机容器间通信原理图

image-20200406200243514

原理等同于上一篇文档中,只不过多了一个容器而已,而通过weave这个巨大的交换机,就可以实现单主机容器内的通信

评论




正在载入...
PoweredHexo
HostedAliyun
DNSAliyun
ThemeVolantis
UV
PV
BY-NC-SA 4.0