Docker 的网络实现

简介

标准的 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 来实现多台机器之间的互联。

相关推荐
wusam8 分钟前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习04(环境准备)
学习·docker·centos
Deryck_德瑞克1 小时前
Java网络通信—TCP
java·网络·tcp/ip
GodK7771 小时前
IP 数据包分包组包
服务器·网络·tcp/ip
梁诚斌1 小时前
VSOMEIP代码阅读整理(1) - 网卡状态监听
运维·服务器·网络
ZachOn1y2 小时前
计算机网络:计算机网络概述 —— 描述计算机网络的参数
网络·tcp/ip·计算机网络·考研必备
我命由我123452 小时前
SSL 协议(HTTPS 协议的关键)
网络·经验分享·笔记·学习·https·ssl·学习方法
两点王爷3 小时前
使用WebClient 快速发起请求(不使用WebClientUtils工具类)
java·网络
wusam3 小时前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习03(网络及IP规划)
运维·服务器·网络·docker·容器
一直在进步的派大星3 小时前
Docker 从安装到实战
java·运维·docker·微服务·容器
什么鬼昵称5 小时前
Pikachu-xxe-xxe漏洞
网络·安全·xxe