docker容器的三种通信方式bridge、host、none

##docker容器之间通信的三种方式
上一篇讲述了如何使用docker部署spring boot微服务,那么多个容器中spring boot微服务之间是如何进行通信的呢,在本篇中只涉及到单机情况下,首先探索docker容器之间三种通信方式。


在docker没有引进网络新特性之前,单机容器间通信采用-link(bridge)即可满足需求。新特性主
要是内置dns server,只有在创建自定义网络,dns server才会起作用。后期将会详细介绍这两种
方式。

如果你的服务器上只安装了docker,首先使用 docker network ls,查看本机容器间通信的几种方式如下图所示。

这里写图片描述

1。默认网络通信模式brigde网桥
首先,默认情况下docker运行容器时,宿主机会创建一个bridge网桥,是一个名叫docker 0的虚拟网桥 ,默认docker 0 ip为172.17.0.1,网桥再给容器分配虚拟子网ip,并且以网桥ip作为网关。在不指定网络的情况下,容器之间的通信都是通过bridge网桥进行通信。然后网桥在与宿主机镜像进行ip转换,端口映射等通信。
其实这种bridge网桥与容器,与宿主机之间的通信,有过网络方面经验的同学,看一下下面一张图,就应该可以轻松的了解这种通信的原理了,有点类似与三层路由交换。

这里写图片描述

2.host宿主机模式:
如果容器指定网络模式为host,容器不会有自己的network namespace,而是和宿主机共用一个network网络及ip,容器不会有虚拟出自己的网卡、ip等,当然除了网络通信这一块和宿主机绑定了,其余的容器内容还是和宿主机安全隔离了。这种在做容器迁移时,很不方便,不推荐使用。原理图示如下,

这里写图片描述

3.none模式
容器指定网络模式-net为none时,docker容器拥有自己的network namespace,但是所有网络配置都得自行配置,如ip、网卡等,这种方式很麻烦,不推荐使用,原理图示如下

这里写图片描述

上一篇:docker 部署spring boot 微服务
下一篇:容器间自定义网络通信,eureka服务注册实例

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值