docerk overlay 网络需要一个 key-value 数据库用于保存网络状态信息,包括 network、endpoint、ip 等。consul、etcd 和 zookeeper 都是 docker 支持的 key-vlaue 软件,我们这里使用 consul。
实验环境描述
在 docker 主机 host1(192.168.56.104)和 host2(192.168.56.105)上实践各种跨主机网络方案,在 192.168.56.101 上部署支持的组件,比如 consul。
最简单的方式是以容器方式运行 consul:
docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap
容器启动后,可以通过 192.168.56.101:8500 访问 consul。
接下来修改 host1 和 host2 的 docker daemon 的配置文件/etc/systemd/system/docker.service。
--cluster-store 指定 consul 的地址。--cluster-advertise 告知 consul 自己的连接地址。
重启 docker daemon。
systemctl daemon-reload
systemctl restart docker.service
host1 和 host2 将自动注册到 consul 数据库中。
准备就绪,实验环境如下:









