Docker学习-网络原理篇

容器的IP

  • Docker的IP是宿主机给虚拟出来的,所以说,我们在创建容器的时候,会将宿主机的容器和容器的IP端口进行映射,因为这个IP本身只有宿主机能够访问。
  • 我们可以在查看网络信息
ip addr 

在这里插入图片描述

图片中,名为Docker0 的网络172.17.0.1 就是由宿主机虚拟出来的一个IP

  • 可以随便进入一个容器,来验证这个说法。
    在这里插入图片描述
  • 回到宿主机,尝试ping一下容器的ip,发现可以ping通,不过外网是无法ping通的,因此容器只能和宿主机进行网络通信。
    在这里插入图片描述

容器的端口

  • 通过 netstat -lntup 命令可以查看所有端口的情况
    在这里插入图片描述
    可以看出Docker容器的端口是通过和宿主机的端口进行映射,来进行网络通信的。

比如,我访问的是服务器IP+80端口。实际上内容通信的是容器的ip+容器的映射端口。

容器的4种网络模式

  1. host模式
  2. container模式
  3. none模式
  4. bridge模式 (默认)

1.Host模式

  • host模式并不会像上面那样,给容器虚拟一个ip,然后由宿主机进行映射,并与外界通信。而是与宿主机公用ip,并分配一个端口,并与宿主机同在一个NameSpace,直接与外界通信。
  • 优点 :网络性能比较好
  • 缺点: 网络的隔离性不好
    在这里插入图片描述

2.container模式

  • 容器之间共享一个ip,并在同一个NameSpace下。
    在这里插入图片描述

3.NONE 模式

  • 正如其名,这种模式下需要手动去配置容器的网络,不然默认是没有网络通信功能的,只能处于离线状态。不过这样可以确保容器的安全性。
    在这里插入图片描述

4.bridge模式

当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值