学容器必须懂 bridge 网络 – 每天5分钟玩转 Docker 容器技术(32)
上一节我们讨论了 none 和 host 类型的容器网络,本节学习应用最广泛也是默认的 bridge 网络。
Docker 安装时会创建一个 命名为 docker0 的 linux bridge。如果不指定 network,创建的容器默认都会挂到 docker0 上。
当前 docker0 上没有任何其他网络设备,我们创建一个容器看看有什么变化。
一个新的网络接口 veth28c57df 被挂到了 docker0 上,veth28c57df就是新创建容器的虚拟网卡。
下面看一下容器的网络配置。
容器有一个网卡 eth0@if34。大家可能会问了,为什么不是veth28c57df 呢?
实际上 eth0@if34 和 veth28c57df 是一对 veth pair。veth pair 是一种成对出现的特殊网络设备,可以把它们想象成由一根虚拟网线连接起来的一对网卡,网卡的一头(eth0@if34)在容器中,另一头(veth28c57df)挂在网桥 docker0 上,其效果就是将 eth0@if34 也挂在了 docker0 上。
我们还看到 eth0@if34 已经配置了 IP 172.17.0.2,为什么是这个网段呢?让我们通过 docker network inspect bridge 看一下 bridge 网络的配置信息:
原来 bridge 网络配置的 subnet 就是 172.17.0.0/16,并且网关是 172.17.0.1。这个网关在哪儿呢?大概你已经猜出来了,就是 docker0。
当前容器网络拓扑结构如图所示:
容器创建时,docker 会自动从 172.17.0.0/16 中分配一个 IP,这里 16 位的掩码保证有足够多的 IP 可以供容器使用。
除了 none, host, bridge 这三个自动创建的网络,用户也可以根据业务需要创建 user-defined 网络,下一节我们将详细讨论。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/53968.html
Dockerlinux相关文章
- Docker 导出/导入镜像[通俗易懂]
- 首次公开!华为顶级团队合编300页Docker进阶手册,理论实战双收
- docker 离线安装_Docker安装
- Docker容器里进程的 pid 是如何申请出来的?
- 【Docker学习系列】Docker学习3-docker的run命令干了什么?docker为什么比虚拟机快?
- Docker服务的停止命令(systemctl stop docker)
- Docker启动容器命令(docker start 容器名称)
- Docker关闭容器命令(docker stop)
- docker使用笔记IV -- 使用docker的风格分离Nginx PHP Mysql
- 「 【Docker】利用宝塔docker管理器搭建为知笔记(docker安装为知笔记) 」
- 超简单易懂的 Docker 原理与安装
- flannel 的连通与隔离 – 每天5分钟玩转 Docker 容器技术(61)
- 【技术干货】Docker精华学习资料集锦,老司机快上车
- 创建 overlay 网络 – 每天5分钟玩转 Docker 容器技术(50)
- 跨主机网络概述 – 每天5分钟玩转 Docker 容器技术(48)
- volume 生命周期管理 – 每天5分钟玩转 Docker 容器技术(44)
- Docker虚拟化技术概述及部署安装
- 理解容器之间的连通性 – 每天5分钟玩转 Docker 容器技术(34)
- 如何自定义容器网络?- 每天5分钟玩转 Docker 容器技术(33)
- 的docker容器创建并使用Docker容器启动Redis数据库(创建并启动名为redis)