当前位置: 首页 > news >正文

Docker容器技术实战3

8、docker原生网络

Docker原生网络基于Linux桥接技术和虚拟网络接口,使用了Linux内核的网络功能。每个Docker容器都有自己的网络命名空间,这使得容器之间可以使用独立的IP地址,并隔离了容器的网络栈。

当创建一个Docker原生网络时,Docker会在主机上创建一个Linux网桥(bridge),并将所有连接到该网络的容器连接到这个网桥上。每个容器都会分配一个唯一的IP地址,并可以通过该IP地址进行通信。此外,Docker还会为每个容器分配一个唯一的MAC地址,并通过一个虚拟网桥与主机网络相连

Docker原生网络可以使用不同的网络驱动程序,包括bridge、host、overlay等,以适应不同的场景需求。桥接网络(bridge network)是最常用的一种,它使得容器可以通过桥接连接到主机网络和其他容器。

查看原生网络

由于所有的容器都要桥接到docker0上,所以所有容器的数据包都要通过docker0向外发送,当容器数据包想要通过docker0对外发送时,要从eth0接口上走,因此内核的IP服务必须打开。

理解为一根网线,一头连接容器,一头连接本机

桥接模式可以允许数据包对外发送,但不可以外部主机直接访问

想让外部主机访问需要使用host网络模式(容器和宿主机共享同一网格线,不会新建虚拟网卡)

host网络模式,容器和宿主机共享一个网络栈,容器并没有创建新的虚拟网卡,同宿主机公用,因此其他主机想访问容器时,只需要访问它的接口地址就行

在server2上

注:当再运行一个容器时就会发生冲突

禁用网络模型

以上是三种原生网络

自定义网络

自定义网络地址段

当创建多个容器时,可以将它们连接到同一个Docker原生网络中,这样它们就可以通过IP地址进行互相访问。每个容器都会分配一个唯一的IP地址,并可以通过该IP地址进行通信。Docker会为每个容器自动添加DNS记录,以便容器名称之间的互相解析。所以多容器之间的互访是通过dns来进行访问,自定义网络内嵌了dns。

不同网络之间被隔离,默认不能通信;不同网络之间通信需要附加虚拟网卡。

再添加个虚拟网卡连接到不同的网段

9、docker容器通信

joined容器(两个容器共享一个网络栈)

在共享一个网络栈后,端口资源是唯一的

端口映射

双冗余机制

跨主机容器通信

两台虚拟机都各添加一块虚拟网卡,并重启

开启混杂模式并激活

server2上操作以此类推

要保证底层链路的正确,直接使用物理网卡,在创建macvlan的时候没有使用新建接口,不需要创建新的虚拟接口,直接使用eth1,也就是物理接口。

10、docker数据卷

在宿主机上修改数据相当于直接修改容器内的数据,因为当前宿主机的容器被直接挂载到容器内

清理所有数据卷,在清理前需要先删除容器,释放对数据卷的占用

创造数据卷

使用bind mount方式挂载数据卷

同时,在挂载时可以控制权限

共享卷

相关文章:

Docker容器技术实战3

8、docker原生网络 Docker原生网络基于Linux桥接技术和虚拟网络接口,使用了Linux内核的网络功能。每个Docker容器都有自己的网络命名空间,这使得容器之间可以使用独立的IP地址,并隔离了容器的网络栈。 当创建一个Docker原生网络时&#xff…...

数字处理-第10届蓝桥杯省赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第3讲。 数字处理&#xff…...

Go并发编程

一、goroutine 和 通道 在Go语言中,每一个并发执行的活动成为goroutine。通道则是每一个goroutine之间传递消息的工具。 1、Goroutine 在一个Go程序中,只有一个主Goroutine来调用main函数。生成新的goroutine也十分简单,例如有一个函数&…...

Nignx及负载均衡动静分离

核心要点:部署后台项目 1.配置jdk环境 1.先将jdk的Linux版本的压缩包上传虚拟机中服务器 2.解压上传的jdk压缩包 tar -zxvf jdk.gz 3.先进入jdk的解压目录,再通过pwd查看当前解压包的路径 4.将 解压包路径 配置到 /etc/profile 5…...

HDFS架构介绍

数新网络_让每个人享受数据的价值浙江数新网络有限公司是一家开源开放、专注于云数据智能操作系统和数据价值流通的服务商。公司自主研发的DataCyber云数据智能操作系统,主要包括数据平台CyberData、人工智能平台CyberAI、数据智能引擎CyberEngine、数据安全平台Cyb…...

微信小程序提示确认框 wx.showModal

核心实现代码如下 wx.showModal({ title: 确认, content: 确定要删除吗?, success (res) { if (res.confirm) { console.log(用户点击确定) } else if (res.cancel) { console.log(用户点击取消) } } })title 是确认框的标题,content 是确认…...

如何设置OBS虚拟摄像头给钉钉视频会议使用

环境: OBS Studio 29.1.3 Win10 专业版 钉钉7.1.0 问题描述: 如何设置OBS虚拟摄像头给钉钉视频会议使用 解决方案: 1.打开OBS 底下来源这添加视频采集设备 选择OBS虚拟摄像头 2.源那再建一个图像,随便选一张图片 3.点击虚…...

SpringCloud 微服务全栈体系(十一)

第十章 RabbitMQ 三、SpringAMQP SpringAMQP 是基于 RabbitMQ 封装的一套模板,并且还利用 SpringBoot 对其实现了自动装配,使用起来非常方便。 SpringAmqp 的官方地址:https://spring.io/projects/spring-amqp SpringAMQP 提供了三个功能&…...

45基于matlab的ARIMA:AutoregressiveIntegratedMovingAverage model。

基于matlab的ARIMA:AutoregressiveIntegratedMovingAverage model。自回归差分移动平均模型(p,d,q),AR自回归模型,MA移动平均模型,时间序列模型步骤包括:1. 数据平稳性检验;2. 确定模型参数;3. …...

2010年408计网

下列选项中, 不属于网络体系结构所描述的内容是(C)A. 网络的层次B. 每层使用的协议C. 协议的内部实现细节D. 每层必须完成的功能 本题考查网络体系结构的相关概念 再来看当今世界最大的互联网,也就是因特网。它所采用的TCP/IP 4层网络体系结…...

初谈Linux-Linux环境搭建(阿里云免费服务器+xshell)

文章目录 前言Linux环境搭建结尾 前言 Linux is not unix 本篇文章小编初谈Linux并搭建Linux环境(阿里云免费服务器shell) Linux Linux是一个开源的操作系统 环境搭建 1.点击阿里云ECS免费学生服务器 2.注册后完成学生认证 3.购买云服务器&#xf…...

如何利用AppScan扫描H5页面,进行安全测试?

前期项目组接触的都是Web安全测试,今天做安全测试的时候,有一个项目刚好有H5页面,用以前那种AppScan内置浏览器的探索方式是不行的,研究了下,可以使用外部设备进行探索。 AppScan有两种手动探索方式,一种是…...

Oracle数据库中的table@xyz是什么意思?

是DBlink访问外部表的语法。xyz是其他Oracle数据库在你所登录的用户下建立的Dblink名。通过这种方式访问其他数据库中的表。 在Oracle数据库中,表名后跟着符号和一个连接字符串(xyz)是一种用法,它用于指定要访问的远程数据库。 …...

springboot常见网络相关错误及原因解析

在基于spring-boot开发过程尤其是上线后,经常出现网络相关的错误,令人难以琢磨和下手,所以就spring-boot使用过程中可能碰到的网络相关问题进行分析,结合网络转包、日志报错和前端输出,针对网络连接超时、连接被拒绝、…...

【C语言_线程pthread_互斥锁mutex_条件触发cond 之解析与示例 (开源)】.md updata:23/11/03

文章目录 线程 pthread线程 vs 进程线程退出 等待 消息传递join:等待,传参void*; exit:退出,对参数赋值void**; 互斥锁 mutex互斥锁mutex条件cond_等待wait、触发signal 控制线程执行 补充: 宏-静态初始化 互斥锁/条件 线程 pthread 线程 vs…...

mongodb如何删除数据并释放空间

mongodb删除数据后不会直接释放内存空间,是因为使用了一种称为“延迟删除”的策略。这意味着当一个文档被删除时,它仍然会占用一定的内存空间,直到这个空间被垃圾回收器(Garbage Collector)回收。 删除数据操作前建议先…...

k8s之集群调度

目录 调度 工作机制 调度过程 调度算法 优先级 指定调度节点 调度 Kubernetes 是通过 List-Watch 的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。 用户是通过 kubectl 根据配置文件,向 APIServer 发送命令…...

代码随想录算法训练营第四十二天丨 动态规划part05

1049.最后一块石头的重量II 思路 本题其实就是尽量让石头分成重量相同的两堆,相撞之后剩下的石头最小,这样就化解成01背包问题了。 感觉和昨天讲解的416. 分割等和子集 (opens new window)非常像了。 本题物品的重量为 stones[i],物品的价…...

[css] flex 子元素自动撑开父元素宽度

对于水平排列的情况,我们可以设置父元素的flex-direction属性为row。这样,子元素将会水平排列在一行内,并自动撑开父元素的宽度。如果子元素的宽度总和超过了父元素的宽度,则子元素会被压缩,以适应父元素的宽度。 对于…...

全新干货!一招教你迅速提升流量主收入!包你轻松月入过万

也不怕大家笑话,才哥以前收入每天才一块钱,连瓶水都买不了, 可是自从我开始接触老年粉私域后,一个搬运公众号的流量主收益两个月后就可以用“浴火重生”来形容了。 一个搬运公众号一天的流量主收益比我原创两年的个人公众号收益还…...

别再纠结了!.NET后台任务调度,Hangfire和Quartz.NET到底怎么选?

Hangfire与Quartz.NET深度抉择指南:从业务场景到技术实现的精准匹配 在.NET生态系统中,后台任务调度是几乎所有企业级应用都无法绕开的核心需求。无论是电商平台的订单状态更新、金融系统的日终批处理,还是内容管理系统的定时数据同步&#x…...

从零构建树莓派人脸识别门禁:硬件选型、环境部署与实战避坑

1. 硬件选型与采购清单 第一次玩树莓派人脸识别项目时,我在淘宝上花了整整三天对比各种硬件参数。当时最纠结的就是摄像头模块——普通USB摄像头才30块钱,而官方推荐的Raspberry Pi Camera Module V2要200多。后来实测发现,这差价真不能省。 …...

7天掌握Driver Store Explorer:Windows驱动管理的完整指南

7天掌握Driver Store Explorer:Windows驱动管理的完整指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer [RAPR] 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer Driver Store Explorer(简称RAPR)是…...

OBS多平台直播同步解决方案:从配置到优化的完整指南

OBS多平台直播同步解决方案:从配置到优化的完整指南 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp 在当今内容创作领域,多平台同步直播已成为扩大受众覆盖的关键…...

QT6.5串口编程第一步:用CMakeLists.txt引入SerialPort模块的避坑指南

QT6.5串口编程避坑指南:CMakeLists.txt配置全解析 当你满怀期待地在QT6.5项目中引入串口通信功能,却在编译时遭遇"找不到QtSerialPort"的红色错误提示,这种挫败感我深有体会。作为一位经历过无数次类似"战斗"的开发者&am…...

DanKoe 视频笔记:每日60分钟改变生活:引言与概述

在本教程中,我们将学习如何通过每天投入60分钟来系统地改变生活。我们将探讨常规的重要性,并介绍三个核心习惯,帮助你重新掌控精力、提升财务状况、改善健康以及获得内心的清晰。 每日60分钟改变生活:2:常规的必要性 …...

SenseVoice语音识别问题解决:常见音频格式支持与ITN功能详解

SenseVoice语音识别问题解决:常见音频格式支持与ITN功能详解 1. 音频格式兼容性:你的音频文件能被识别吗? 语音识别系统的第一步就是正确读取音频文件。很多用户在实际使用中遇到的第一个问题往往是:"为什么我的音频文件无…...

收藏必备!小白程序员快速入门RAG,轻松提升大模型生成效果与准确性

RAG(检索增强生成)是一种提升大模型生成内容准确性和时效性的技术框架。通过从外部知识库检索信息,再将检索结果与大模型结合,有效解决大模型知识过时和幻觉问题。RAG流程包括知识嵌入存储、相似度检索和增强生成三个核心环节&…...

老旧Mac重获新生:OpenCore Legacy Patcher如何突破苹果硬件限制

老旧Mac重获新生:OpenCore Legacy Patcher如何突破苹果硬件限制 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 当你的Mac因官方不再支持而无法更新系统&#…...

从零开始理解L1和L2正则化:机器学习中的惩罚函数详解

从零开始理解L1和L2正则化:机器学习中的惩罚函数详解 在构建机器学习模型时,我们常常面临一个核心矛盾:模型越复杂,对训练数据的拟合效果越好,但同时也更容易陷入过拟合的泥潭。想象一下,你正在教一个学生解…...