高手的存在,就是让服务10亿人的时候,你感觉只是为你一个人服务......

使用weave实现docker多宿主机互联

目录
  1. 1. 环境准备
  2. 2. 安装weave
  3. 3. 启动weave
  4. 4. 连接不同主机
  5. 5. 通过weave启动容器

使用weave实现docker多宿主机互联

weave是编织的意思,这里指的是建立一个虚拟的网络,将不同主机上的docker容器连接起来
Alt text
weave的实现原理如下图:

环境准备

两台装有docker的物理机
192.168.1.111
192.168.1.113

安装weave

从github上下载二进制文件安装

1
2
# sudo wget -O /usr/local/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
# sudo chmod a+x /usr/local/bin/weave

启动weave

1
2
3
# weave launch
Unable to find image 'zettio/weave' locally
......

Alt text

其实下载了三个镜像文件,并且启动了3个容器
Alt text
Alt text

此时会发现有两个网桥,一个是Docker默认生成的,另一个是Weave生成的
Alt text

连接不同主机

主机B要连接到主机A,则需要在weave launch 后面加上A的ip
在B的主机上

1
# weave launch 192.168.1.111

通过weave启动容器

可以使用如下方式启动

1
weave run 192.168.1.2/24 -ti centos /bin/bash

网上有一个比较好的做法:将启动后容器的id赋给c2变量

1
2
3
# c2=$(weave run 192.168.1.2/24 -ti centos /bin/bash)

# docker-enter c2

OK,两个主机上的容器可以互联了