实现docker跨主机通信 – 基于Consul的overlay网络

环境配置

配置三台机器,请注意修改hostname为不同的值,防火墙放行如下端口:2376、4789、7946、8300、8301、8302、8500、8600

consul:    172.18.0.11    安装 Consul
dnode1:    172.18.0.21    安装 Docker
dnode2:    172.18.0.22    安装 Docker

启动一个单节点的Consul服务

consul agent -ui -server -bootstrap -data-dir /var/lib/consul -bind 172.18.0.11 -client 172.18.0.11

在其他服务器分别启动Docker服务

docker daemon -D -g /var/lib/docker -H unix:// -H tcp://0.0.0.0:2376  --cluster-store=consul://172.18.0.11:8500 --cluster-advertise=eth0:2376
  • --cluster-store 指定了consul服务发现地址
  • --cluster-advertise 指定了本机服务注册地址,其中eth0是自己网卡的名称,也可以用内网地址172.18.0.21代替

等待自动注册服务

可以使用浏览器打开http://172.18.0.11:8500查看

在node上创建网络

docker network create --driver overlay \
    --subnet=172.18.2.0/24 --gateway=172.18.2.1 vet2

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注