linux虚拟化之docker虚拟化---docker中容器之间的跨主机通信

使用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端口,会出现以下页面
linux虚拟化之docker虚拟化---docker中容器之间的跨主机通信
//创建一个新的网络,类型为overlay网络。

docker  network  create  -d  overlay  ov_net1

-d: 指定网络类型
//查看一下会发现新增了一个overlay类型的网络,网络范围是全局性的网络。由于三个主机已经通过consul进行了连接,所以这个三台主机都有这会发现这个网络。
linux虚拟化之docker虚拟化---docker中容器之间的跨主机通信
然后就可以基于这个网络,在不同主机上,分别创建几个容器进行容器之间的通信了。(进入容器,分别ping一下其他容器的ip进行测试)

docker run -itd --name t1 --network ov_net1  busybox

–network:指定容器的网络类型

linux虚拟化之docker虚拟化---docker中容器之间的跨主机通信linux虚拟化之docker虚拟化---docker中容器之间的跨主机通信 Don Felder. 发布了9 篇原创文章 · 获赞 2 · 访问量 276 私信 关注
上一篇:ubuntu系统安装mongodb


下一篇:15.overlay和overlay2对比介绍