docker网络 bridge 与overlay 模式
转载请注明出处:
1.bridge网络模式
工作原理:
在Bridge模式中,Docker通过创建一个虚拟网络桥接器(bridge)将容器连接到主机上的物理网络接口。每个容器都会被分配一个IP地址,使得它们可以相互通信,并且可以与主机进行通信。
Docker的Bridge网络模式是默认的网络配置选项,它提供了容器之间以及容器与主机之间的通信功能。
特性:
每个容器都有自己的网络命名空间,并分配一个IP地址。
容器之间可以通过IP地址进行通信。
容器与主机之间可以通过NAT进行通信。
Docker守护进程会为每个容器创建一对虚拟网卡(veth pair),其中一个接口连接到容器的网络命名空间,另一个接口连接到宿主机的Bridge网络。
配置:
默认情况下,Docker在安装时会创建一个名为
docker0
的Bridge网络。可以使用以下命令查看已存在的Bridge网络:
docker network ls
2.创建自定义的Bridge网络:
docker network create <network_name>
3.使用自定义的Bridge网络启动容器:
docker run --network=<network_name> <image_name>
应用场景:
Docker Bridge模式主要用于单主机上的容器通信,适用于简单的应用场景,如开发和测试环境。
与overlay的区别
- Overlay网络需要使用Docker Swarm或Kubernetes等编排工具来实现多主机的容器编排和管理。
- 每个主机上都会创建一个虚拟网络接口(VXLAN),用于连接各个主机上的容器。
- Overlay网络使用覆盖网络技术,在运行时将数据包封装在UDP协议中,并通过底层网络传输到其他主机上。
2.Overlay 网络模式
工作原理:
在Overlay模式中,Docker使用VXLAN(Virtual Extensible LAN)技术来创建一个虚拟网络,将多个Docker主机上的容器连接到同一个网络中。这意味着容器可以通过Overlay网络进行透明的跨主机通信,就好像它们在同一个物理网络上一样。
特性:
Docker的Overlay网络是一种用于构建多主机容器网络的网络驱动程序。它具有以下特性:
多主机通信:Overlay网络允许位于不同Docker宿主机上的容器之间进行通信,无论这些宿主机在物理网络上的位置如何。
跨主机连接:Overlay网络可以跨越多个Docker宿主机,创建一个虚拟的网络层,它隐藏了底层主机的物理网络细节。
容器扩展性:使用Overlay网络,可以轻松地添加、移除或迁移容器,而无需调整底层网络配置。
安全性:Overlay网络支持加密和认证,确保跨主机容器之间的通信是安全的。
overLay 如何与主机通信:
创建Overlay网络后,Docker会在每个主机上创建一个虚拟网络的子网段,并分配给Overlay网络。
当容器加入Overlay网络时,Docker会为其分配一个虚拟IP地址,并更新主机的路由规则。这样,容器可以直接使用虚拟IP地址进行通信。
Docker使用VXLAN(Virtual Extensible LAN)协议来实现Overlay网络的跨主机通信。VXLAN在底层网络上封装容器的数据包,使其能够跨主机传输。
当容器需要与其他主机上的容器通信时,Docker会将数据包封装在VXLAN中,并通过底层网络将其发送到目标主机。
目标主机上的Docker解析VXLAN包,提取容器数据包,并将其传递给目标容器。
通过这种方式,Overlay网络使得分布式应用程序中的容器可以方便地进行跨主机通信,而不必手动配置网络或关注底层网络细节。
配置:
要配置和使用Overlay网络,需要执行以下步骤:
创建一个Overlay网络:使用
docker network create
命令创建Overlay网络,并指定网络的驱动程序为overlay
。连接容器到Overlay网络:使用
--network
选项将容器连接到已创建的Overlay网络。
适用场景:
多主机容器编排:Overlay网络使得在多台主机上运行的容器可以以一个逻辑网络的形式互相通信,这对于分布式应用程序和容器编排工具(如Docker Swarm和Kubernetes)非常有用。
跨数据中心通信:如果有多个数据中心,Overlay网络可以帮助容器在不同的数据中心之间建立连接,使得跨地理边界的容器之间可以安全、可靠地通信。
与bridge的区别和差异
- Bridge网络适用于单主机上的容器通信,而不涉及多个主机之间的跨主机通信。
- 每个主机上都有一个名为
docker0
的虚拟网桥,作为宿主机上所有容器的默认网络接口。 - Bridge网络使用IP地址和端口映射来实现容器之间以及容器与宿主机之间的通信。
docker网络 bridge 与overlay 模式的更多相关文章
- docker 网络的几种模式
docker 网络分为单机和多机,我们来了解一下docker的单机网络 docker单机网络分为以下几种: 1)bridge NetWork,使用--net=bridge指定,默认设置.2)Host ...
- Docker网络模式
[编者的话] 本文是<Docker网络及服务发现>一书的一个章节,介绍了搭建Docker单主机网络的基础内容.关于Docker网络的更多内容,包括多主机的网络,请参考该书的其他章节. @C ...
- Docker网络及命令
Docker常用命令 docker version #查看版本 docker search centos #搜索可用docker镜像 docker images 查看当前docker所有镜像 dock ...
- Docker的bridge和macvlan两种网络模式
项目上部署的Docker集群创建的容器网络遇到问题,借机会学习了一下docker的网络模式,其他类型我们用的不多,这里只列举我们常用的bridge和macvlan两种,下面的描述和截图有一些是直接从网 ...
- docker 网络模式 和 端口映射
docker 的 网络模式 docker 自带 3 种 网络模式:分别是bridge网络,host网络,none网络,可以使用 docker network ls 命令查看. 1.none网络 这 ...
- Docker网络模式介绍
一.概述 docker的网络驱动有很多种方式,按照docker官网给出的网络解决方案就有6种,分别是:bridge.host.overlay.macvlan.none.Network plugins, ...
- Docker网络模式详解
一.Docker四种工作模式 安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络). none .hosthost:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用 ...
- docker容器网络bridge
我们知道docker利用linux内核特性namespace实现了网络的隔离,让每个容器都处于自己的小世界里面,当这个小世界需要与外界(宿主机或其他容器)通信的时候docker的网络就发挥作用了,这篇 ...
- docker 网络4种模式
1.host 模式,使用docker run 时 使用--net=host 指定 docker 使用的网络和宿主机一样,在容器上看到的网卡ip就是宿主机上的ip 2.container 模式,使用-- ...
- Docker - 运行 containers 使用在 swarm 模式下创建的 overlay 模式的 network
前言 在Docker engine v1.12, 使用Swarm可以方便的创建overlay模式的网络,但是它只能被swarm下面的service所使用的,相对于container,这个网络是完全隔离 ...
随机推荐
- 2022-11-27:超过经理收入的员工。编写一个SQL查询来查找收入比经理高的员工。以下数据的结果输出是Joe,因为Joe是唯一挣得比经理多的雇员。 DROP TABLE IF EXISTS `em
2022-11-27:超过经理收入的员工.编写一个SQL查询来查找收入比经理高的员工.以下数据的结果输出是Joe,因为Joe是唯一挣得比经理多的雇员. DROP TABLE IF EXISTS `em ...
- 2022-05-16:A -> B,表示A认为B是红人, A -> B -> C,表示A认为B是红人,B认为C是红人,规定“认为”关系有传递性,所以A也认为C是红人, 给定一张有向图,方式是给定M个有
2022-05-16:A -> B,表示A认为B是红人, A -> B -> C,表示A认为B是红人,B认为C是红人,规定"认为"关系有传递性,所以A也认为C是红 ...
- 2021-10-24:快乐数。编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是
2021-10-24:快乐数.编写一个算法来判断一个数 n 是不是快乐数.「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和.然后重复这个过程直到这个数变为 1,也可能是 ...
- Grafana系列-统一展示-8-ElasticSearch日志快速搜索仪表板
系列文章 Grafana 系列文章 概述 我们是基于这篇文章: Grafana 系列文章(十二):如何使用 Loki 创建一个用于搜索日志的 Grafana 仪表板, 创建一个类似的, 但是基于 El ...
- 这可能是最全面的Java学习路线了
大家好,我是大彬~ 我本科学的不是计算机,大四开始自学Java,并且拿到了几个互联网中大厂的offer.在学习Java这方面还是比较有经验的,下面我来分享下我整理的Java自学路线. 在这里也提醒学弟 ...
- 代码随想录算法训练营Day36 贪心算法
代码随想录算法训练营 代码随想录算法训练营Day36 贪心算法| 435. 无重叠区间 763.划分字母区间 56. 合并区间 435. 无重叠区间 题目链接:435. 无重叠区间 给定一个区间的集合 ...
- git上传对象文件错误解决方案
git上传对象文件错误解决方案 时隔一个星期, 当我再次完成开发之后, 准备将代码上传, 却出现了一个上传代码的错误, 记录一下错误和解决方案 解决方案: 运行git fsck --full (b ...
- shader编程经典:分形--科赫曲线
序言 科赫(雪花)曲线是一个经典分形图案,来一起领略下分形之美.本篇内容用到一些基础的内容,例如UV的理解和画线技巧,有需要的话可以参考合集的画圆和画线两篇文章. 示例 shadertoy 代码: # ...
- Linux 下 R 源码安装指南
本文章同步自作者的语雀知识库,请点击这里阅读原文. 如果你使用的 Linux 系统 GCC 版本太低, 又没有 root 权限 (即使有 root 权限又担心升级 GCC 带来的风险) ; 同时你又不 ...
- 编码器 | 基于 Transformers 的编码器-解码器模型
基于 transformer 的编码器-解码器模型是 表征学习 和 模型架构 这两个领域多年研究成果的结晶.本文简要介绍了神经编码器-解码器模型的历史,更多背景知识,建议读者阅读由 Sebastion ...