首页 > 其他分享 >docker网络 bridge 与overlay 模式

docker网络 bridge 与overlay 模式

时间:2023-08-13 21:23:15浏览次数:41  
标签:容器 bridge 主机 overlay 网络 通信 Overlay docker Docker

转载请注明出处:

1.bridge网络模式

工作原理:

   在Bridge模式中,Docker通过创建一个虚拟网络桥接器(bridge)将容器连接到主机上的物理网络接口。每个容器都会被分配一个IP地址,使得它们可以相互通信,并且可以与主机进行通信。

Docker的Bridge网络模式是默认的网络配置选项,它提供了容器之间以及容器与主机之间的通信功能。 

特性:

  1. 每个容器都有自己的网络命名空间,并分配一个IP地址。

  2. 容器之间可以通过IP地址进行通信。

  3. 容器与主机之间可以通过NAT进行通信。

  4. Docker守护进程会为每个容器创建一对虚拟网卡(veth pair),其中一个接口连接到容器的网络命名空间,另一个接口连接到宿主机的Bridge网络。

配置:

  1. 默认情况下,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网络是一种用于构建多主机容器网络的网络驱动程序。它具有以下特性:

  1. 多主机通信:Overlay网络允许位于不同Docker宿主机上的容器之间进行通信,无论这些宿主机在物理网络上的位置如何。

  2. 跨主机连接:Overlay网络可以跨越多个Docker宿主机,创建一个虚拟的网络层,它隐藏了底层主机的物理网络细节。

  3. 容器扩展性:使用Overlay网络,可以轻松地添加、移除或迁移容器,而无需调整底层网络配置。

  4. 安全性:Overlay网络支持加密和认证,确保跨主机容器之间的通信是安全的。

overLay 如何与主机通信:

  1. 创建Overlay网络后,Docker会在每个主机上创建一个虚拟网络的子网段,并分配给Overlay网络。

  2. 当容器加入Overlay网络时,Docker会为其分配一个虚拟IP地址,并更新主机的路由规则。这样,容器可以直接使用虚拟IP地址进行通信。

  3. Docker使用VXLAN(Virtual Extensible LAN)协议来实现Overlay网络的跨主机通信。VXLAN在底层网络上封装容器的数据包,使其能够跨主机传输。

  4. 当容器需要与其他主机上的容器通信时,Docker会将数据包封装在VXLAN中,并通过底层网络将其发送到目标主机。

  5. 目标主机上的Docker解析VXLAN包,提取容器数据包,并将其传递给目标容器。

  通过这种方式,Overlay网络使得分布式应用程序中的容器可以方便地进行跨主机通信,而不必手动配置网络或关注底层网络细节。

配置:

  要配置和使用Overlay网络,需要执行以下步骤:

  1. 创建一个Overlay网络:使用docker network create命令创建Overlay网络,并指定网络的驱动程序为overlay

  2. 连接容器到Overlay网络:使用--network选项将容器连接到已创建的Overlay网络。

适用场景:

  • 多主机容器编排:Overlay网络使得在多台主机上运行的容器可以以一个逻辑网络的形式互相通信,这对于分布式应用程序和容器编排工具(如Docker Swarm和Kubernetes)非常有用。

  • 跨数据中心通信:如果有多个数据中心,Overlay网络可以帮助容器在不同的数据中心之间建立连接,使得跨地理边界的容器之间可以安全、可靠地通信。

与bridge的区别和差异

  • Bridge网络适用于单主机上的容器通信,而不涉及多个主机之间的跨主机通信。
  • 每个主机上都有一个名为docker0的虚拟网桥,作为宿主机上所有容器的默认网络接口。
  • Bridge网络使用IP地址和端口映射来实现容器之间以及容器与宿主机之间的通信。

 

标签:容器,bridge,主机,overlay,网络,通信,Overlay,docker,Docker
From: https://www.cnblogs.com/zjdxr-up/p/17627291.html

相关文章

  • 本地启动 ABAP Platform Trial 的 Docker 命令行程序
    Docker是一个开源的容器化平台,用于轻松地构建、发布和运行应用程序。DockerDesktop是适用于Windows和Mac的Docker桌面应用程序,它允许用户在本地运行和管理容器化应用程序。在本文中,我们将详细介绍以下两个命令行并解释每个参数的含义:dockerpullsapse/abap-platform-trial:190......
  • Windows10下安装docker 并启动 rabbitmq
    1.官网下载docker:https://hub.docker.com/editions/community/docker-ce-desktop-windows 2.安装docker:运行下载好的DockerforWindowsInstaller.exe 3.安装好后启动docker: 4.修改成国内镜像仓库:https://q3a36twa.mirror.aliyuncs.com  5.拉取rabbitmq,在cmd窗......
  • Docker入门
    一、安装1、linux安装(老师的方法:)https://blog.csdn.net/jeffleo/article/details/709043682、内核升级(CentOS6.X升级内核至3.10)https://blog.csdn.net/jeffleo/article/details/709041503、阿里云的docker镜像仓库https://c.163yun.com/hub#/m/library/https://......
  • 使用 Docker 部署 Mongodb
    Mongodb是最像关系型数据库的NoSql数据库,其数据类型非常丰富,数据结构松散,采用类似Json的Bson二进制格式存储数据,还支持对索引功能。主要应用在数据量大、读多写少或者读写都比较频繁、数据价值较低的场景中,如果社交平台的点赞和评论、游戏、物流信息和轨迹存储等。由于在......
  • Docker
    1.Dockocker是 PaaS 提供商dotCloud开源的一个基于 LXC 的高级容器引擎;Docker是基于Go语言开发的开源项目www.docker.com 文档为https://docs.docker.com(文档超级详细)仓库地址:https://hub.docker.com  VM与Docker的不同:VM,虚拟出一套硬件,运行完整的操......
  • Docker配置Web
    Docker配置Web一、安装Docker安装步骤详见:Ubuntu20.04安装DockerDocker构建nginx+uwsgi+flask镜像(二)Docker容器化部署Flask项目+Gunicorn+Nginx二、方法一:搭建服务1、抓取镜像抓取最新镜像:$dockerpullubuntu抓取指定版本镜像:$dockerpullubuntu:18.04......
  • Docker
    Docker[Docker教程](Docker教程|菜鸟教程(runoob.com))[Docker入门教程](Docker入门教程-阮一峰的网络日志(ruanyifeng.com))简介软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,要保证自家的软件能在那些机器跑起来,用户必须保证两件事:操作系统......
  • IDEA集成docker并快速部署Springboot项目
    前言:现在docker是我们常用的服务部署方式了,在微服务中对于springboot部署到docker一般有两种方式1、把jar包扔给运维同学,由他们进行编写dockerfile或者其他方式部署。(不推荐)2、由开发同学处理后把镜像或者容器上传到服务器(企业级常用方式)下面我们就通过demo来看下方式二......
  • docker搭建Ftp服务器
    原文地址:https://www.yii666.com/blog/47876.html拉取镜像dockerpullfauria/vsftpd运行dockerrun-d-p21:21-p20:20-p65001-65006:65001-65006\-v/data/ftp:/home/vsftpd/ftp\-eFTP_USER=pgms\-eFTP_PASS=intest\-ePASV_ADDRESS=***.**.**.**\-e......
  • 在centos下安装docker
    yuminstall-yyum-utilsyum-config-manager\-add-repo\https://download.docker.com/linux/centos/docker-ce.repoyuminstalldocker-cedocker-ce-clicontainerd.iodocker-buildx-plugindocker-compose-pluginsystemctlenabledocker--nowdockerps#批量安装doc......