手动搭建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