Docker 的网络实现

本文详细介绍了Docker的四种网络模式,特别是bridge模式的工作原理,包括虚拟网桥docker0的创建、容器间的通信。同时指出Docker原生不支持多主机互联,需借助Kubernetes扩展网络能力。
摘要由CSDN通过智能技术生成

简介

标准的 Docker 支持以下 4 类网络模式:
1)host 模式:使用 --net=host 指定
2)container 模式:使用–net=container:NAME_or_ID 指定
3)none模式:使用 --net=none 指定
4)bridge 模式:使用 --net=bridge 指定,为默认设置

bridge 模式

在这里插入图片描述

在 bridge 模式下, Docker Daemon 第1次启动的时候会创建一个虚拟的网络,默认的名称是 docker0,然后按照 RPC1918 的模型在私有网络空间中给这个网桥分配一个子网。针对由 Docker 创建的每一个容器,都会创建一个虚拟的以太网设备(veth 设备对),其中一端关联到网桥上,另一端使用 Linux 的网络命名空间技术,映射到容器内的 eth0 设备,然后从网桥的地址段内给 eth0 接口分配一个 IP 地址。

其中,ip1 是网桥的 IP 地址,Docker Daemon 会在几个备选地址段给它选一个地址,通常是以 172 开头的一个地址。这个地址和主机的 IP 地址是不重叠的。ip3 是主机的网卡地址。(容器的地址是由 docker0 网桥来分配的)。上述做法的结果就是,在同一台机器内的容器之间可以相互通信,不同主机上的容器不能相互通信。

docker 的网络局限

Docker 一开始并没有考虑到多主互联的网络解决方案。可以借助 kubernetes 来实现多台机器之间的互联。

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小达人Fighting

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值