手动搭建overlay网络

环境配置

配置三台机器( 注意一定要修改hostname):

consul:         192.168.31.181
node1:          192.168.31.182  
node2:          192.168.31.183

三台机器同时都要安装docker1.9

关闭防火墙

将内核升级到3.18,这里升级到了4.3

STEP1. 选择consul主机,启动consul服务,这里启动的是一个单节点的Consul服务,使用docker提供的容器服务可以方便的让我们启动它,只需简单输入:

docker run -d -p "8500:8500" -h "consul" progrium/consul -server -bootstrap

STEP2. 在node节点上启动docker daemon 进程:

docker daemon -D -g /var/lib/docker -H unix:// -H tcp://0.0.0.0:2376  --cluster-store=consul://192.168.31.181:8500 --cluster-advertise=enp0s3:2376

--cluster-store指定了consul服务发现地址,--cluster-advertise指定了本机服务注册地址,其中enp0s3是自己网卡的名称,也可以用内网网址192.168.31.182代替。

STEP3.启动好了之后一开始daemon会no route类似的错误,不用管它,过一会就会注册好,就会报如下类似信息:

DEBU[6143] Watch triggered with 2 nodes                  discovery=consul
DEBU[6148] Watch triggered with 2 nodes                  discovery=consul
DEBU[6148] Watch triggered with 2 nodes                  discovery=consul
DEBU[6149] 2015/11/25 02:08:12 [DEBUG] memberlist: Initiating push/pull sync with: 192.168.31.132:7946

memberlist 说明可以发现其它节点,这就说明已经注册成功,也可打开consul所在的主机ip:8500查看:

http://192.168.31.181:8500

可以看到consul的ui界面。

STEP4. 使用docker network命令:

docker network ls

docker network create --driver overlay my-net

docker run -it --net=my-net  centos