docker 容器之间通讯

 

  在这里,我将容器之间的通讯分为两部分,① 在同一个宿主机上,容器之间的通讯 ② 在不同宿主机上容器之间的通讯

 

  在安装docker后,默认会创建三个网络 docker network ls

  

  

host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。

Container:创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围。

None:该模式关闭了容器的网络功能。

Bridge:此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及Iptables nat表配置与宿主机通信。  也是默认使用的方式

 


 

  同个宿主机容器之间的通讯

  先做一个示范

  我们启动两个容器   docker run -it --name centos1 -d centos      docker run -it --name centos2 -d centos

  1. 通过容器IP进行访问  。但是IP不固定,所以这并不是一个很好的方案。

    我们使用inspect 分别查出两个的ip 地址。172.17.0.3       172.17.0.2

    进入到容器内部我们进行ping 下。 发现能够ping 通。

    我们现在使用 centos1 的IP是3,centos2 是2,我们将两个容器都关闭,启动centos1,发现IP变了。

  2.通过宿主机ip+port 进行访问,通讯受到限制。

  3.通过link 进行建立连接(官方不推荐使用,就不详细说明了)  

  4.官方推荐使用 User-defined networks

    用docker network 创建一个新的网络,在docker -run 的时候,指定到新创建的这个网络上

    ①创建一个新的网络  docker network create my-network

    ②docker run -it --network my-network --name centos1 -d centos

  

  

转载于:https://www.cnblogs.com/chengyangyang/p/11236019.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值