#weave是什么?
语义:编制
建立一个虚拟网络,用于将运行在不同主机的docker容器连接起来
http:/weave.works
https://github.com/weaveworks/weave#readme
准备环境:
(1)两台服务器或虚拟机(最好是NAT方式):
(2)服务器需要都安装有docker并启动
我这边准备的服务器ip为:
192.168.0.55 主机名:node3
192.168.0.48 主机名:ubuntu
两台服务器都运行这样的命令:
1.下载weave
# wget -O /usr/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
#chmod a+x /usr/bin/weave
# weave launch (这条不运行,但是这条的意思是运行weave的意思)
以下2和3的步骤可以同时操作配置
2.一台服务器上创建运行容器并做相应配置
#下面192.168.0.48是另外一台服务器的ip,下面这个命令是连接两台服务器路由的意思:
[root@node3 /]# weave launch 192.168.0.48
d7e3b980c91a949de97a277ee95ae64fb26a8e332d70a2985bccb00e15a3a415
#创建容器
[root@node3 /]# docker run -itd --name=wea_test ubuntu /bin/bash
94ea45ea1a71c0439d9d2285c69478ee08b02b6998e842cbced6377427be7423
#运行容器并配置虚拟网桥ip
[root@node3 /]# weave attach 192.168.2.2/24 wea_test
Address 192.168.2.2 overlaps with existing route 192.168.0.0/22 on host
192.168.2.2
#进入容器
[root@node3 /]# docker attach wea_test
#下面三步是为了可以查看ip和ping做准备:
root@94ea45ea1a71:/# apt-get update
root@94ea45ea1a71:/# apt-get install net-tools
root@94ea45ea1a71:/#apt-get install inetutils-ping
#查看网卡信息有网卡ethwe,也说明绑定weave的ip成功:
root@94ea45ea1a71:/# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.200.3 netmask 255.255.255.0 broadcast 192.168.200.255
ethwe: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1376
inet 192.168.2.2 netmask 255.255.255.0 broadcast 192.168.2.255
#效果
3.另外一台运行步骤同上:
#192.168.0.55是第一台服务器的ip,连接两台服务器路由的意思
root@ubuntu:~# weave launch 192.168.0.55
#创建容器
root@ubuntu:/# docker run -itd --name=wea_test2 ubuntu /bin/bash
9e742169bba0bc26328db66014565d24d9ff202e508cac6d567862bbf240db18
#运行容器并配置虚拟网桥ip
root@ubuntu:/# weave attach 192.168.2.5/24 wea_test2
Address 192.168.2.5 overlaps with existing route 192.168.0.0/22 on host
192.168.2.5
#进入容器
root@ubuntu:/# docker attach wea_test2
进入容器内以后:
#apt-get update
#apt-get install net-tools
#apt-get install inetutils-ping
#查看网卡信息有网卡ethwe,也说明绑定weave的ip成功:
root@9e742169bba0:/# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.2 netmask 255.255.0.0 broadcast 0.0.0.0
ethwe: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1376
inet 192.168.2.5 netmask 255.255.255.0 broadcast 192.168.2.255
#效果
#ping 192.168.2.2