使用overlay的方法使不同主机中的容器进行通信
//关闭selinux(设置成宽容模式)
//使用consul镜像,运行consul服务
docker run -d -p 8500:8500 -h consul --name consul --restart=always progrium/consul -server -bootstrap
-h:hostname
-server:代表server端,
-bootstrap: 自选举为leader
//需要说明一下,consul服务可以理解为数据中心,他可以收集不同主机上的ip或者端口等信息。
//修改docker的配置文件,以3台主机为例,目的是加入集群。
vim /usr/lib/systemd/system/docker.service
//重启docker
systemctl daemon-reload
systemctl restart docker.service
//可以进行验证:访问8500端口,会出现以下页面
//创建一个新的网络,类型为overlay网络。
docker network create -d overlay ov_net1
-d: 指定网络类型
//查看一下会发现新增了一个overlay类型的网络,网络范围是全局性的网络。由于三个主机已经通过consul进行了连接,所以这个三台主机都有这会发现这个网络。
然后就可以基于这个网络,在不同主机上,分别创建几个容器进行容器之间的通信了。(进入容器,分别ping一下其他容器的ip进行测试)
docker run -itd --name t1 --network ov_net1 busybox
–network:指定容器的网络类型
Don Felder. 发布了9 篇原创文章 · 获赞 2 · 访问量 276 私信 关注