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

≯℡__Kan透↙ 提交于 2020-01-25 10:42:28

使用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:指定容器的网络类型

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!