# docker跨主机访问
TIP
如何配置多台主机上的docker容器在同一个网络环境。 通过docker自带的overlay可以实现。 关于overlay的一些概念自行google。下面详细说明下如何配置。
# 1、想让两个网络环境下的容器互通,那么必然涉及到网络信息的同步,所以需要先配置一下consul。直接运行下面命令。启动consul。
docker run --restart=always -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://<consul服务的ip地址>:8500 --cluster-advertise=eth0(当前对外ip使用的网卡名或者直接使用当前ip):2376
# 3、保证所有主机的docker配置文件都与2一致,这样就能保证所有的docker overlay网络同步在consul上。
# 4、基本上需要配置的工作我们都已经完成了。这样就该享受成果咯 在随机一台机器上创建overlay网络(比如我想创建的docker的mongo集群网络互通,我创建了一个mongo的overlay的网络);
docker network create –subnet 10.0.0.0/24 –gateway 10.0.0.1 -d overlay soeasycenter
docker network create --driver=overlay --subnet=10.0.0.0/24 --gateway=10.0.0.1 soeasycenter