1,让两个网络环境下的容器互通,那么必然涉及到网络信息的同步,所以需要先配置一下consul。
直接运行下面命令。启动consul。
docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap
2,同步网络信息的工具安装好了,那么肯定需要容器能够使用这个同步工具,以便consul能够找到各个服务器的docker节点。修改各个节点 docker的启动配置文件/lib/systemd/system/docker.service。在 ExecStart 最后添加
--cluster-store=consul://
--cluster-advertise=eth0(当前对外ip使用的网卡名或者直接使用当前ip):2376
3,保证所有主机的docker配置文件都与2一致,这样就能保证所有的docker overlay网络同步在consul上。
基本上需要配置的工作我们都已经完成了。
4,在随机一台机器上创建overlay网络(比如我想创建的docker的mongo集群网络互通,我创建了一个mongo的overlay的网络):
docker network create -d overlay mongo
这个时候,你在别的机器上执行docker network ls,你将能够看到在上一台机器创建的overlay网络