docker 网络模式

四种模式介绍

宿主机可上网,容器内便可上网.且能ping通宿主机同网段服务

Docker网络模式

配置

说明

host模式

--net=host

容器和宿主机共享Network namespace。

container模式

--net=container:NAME_or_ID

容器和另外一个容器共享Network namespace。 kubernetes中的pod就是多个容器共享一个Network namespace。

none模式

--net=none

容器有独立的Network namespace,但并没有对其进行任何网络设置,如分配veth pair 和网桥连接,配置IP等。

bridge模式

--net=bridge

(默认为该模式)


一、host模式

如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。但是,容器的其他方面,如文件系统、进程列表等还是和宿主机隔离的

使用 --net=host 模式由于直接使用宿主机ip和端口无需-p 手动映射端口了

二、container模式

这个模式指定新创建的容器和已经存在的一个容器共享一个 Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的 IP,而是和一个指定的容器共享 IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过 lo 网卡设备通信。

三、none模式

使用none模式,Docker容器拥有自己的Network Namespace,但是,并不为Docker容器进行任何网络配置。也就是说,这个Docker容器没有网卡、IP、路由等信息。需要我们自己为Docker容器添加网卡、配置IP等。

这种网络模式下容器只有lo回环网络,没有其他网卡。none模式可以在容器创建时通过--network=none来指定。这种类型的网络没有办法联网,封闭的网络能很好的保证容器的安全性。

四、bridge模式(桥接模式,和宿主机处于同一网段)

当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥(桥接网络ifconfig docker0)此主机上启动的Docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中,形成一个局域网(LAN),容器之间包括宿主机可以通过docker容器虚拟ip互相通讯。但想从不同主机访问容器暴露到主机端口。想让跨主机间容器可以互相通讯需安装weave、fannel等跨主机网络通讯插件,用weave分配容器ip,这样跨主机容器间才可用ip互相通讯了,否则其他主机(包括其他主机的容器)通过容器ip访问不到docker容器,因为docker0是172.0.0.1(localhost),其分配的容器ip也是172.0.0.2等,仅与本机属于同一网段

在默认的bridge模式下,docker0网络的默认网关即是宿主机。在Linux下,docker0网络通常会分配一个172.17.0.0/16的网段,其网关通常为172.17.0.1(localhost);macOS下的网段则为192.168.65.0/24,网关为192.168.65.1。在容器中使用该网关IP地址即可访问宿主机上的各种服务(直接使用宿主机ip也可以)。注意:经由docker0网桥而来的流量不经过宿主机的本地回环,容器经由docker0网桥无法访问到监听地址是127.0.0.1(localhost)的应用,因此需要将宿主机上的应用(MySQL,Redis等)配置为监听0.0.0.0。

从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。在主机上创建一对虚拟网卡veth pair设备,Docker将veth pair设备的一端放在新创建的容器中,并命名为eth0(容器的网卡),另一端放在主机中,以vethxxx这样类似的名字命名,并将这个网络设备加入到docker0网桥中。可以通过brctl show命令查看。

bridge模式是docker的默认网络模式(k8s pod中的docker默认是container模式),不写--net参数,就是bridge模式。使用docker run -p时,docker实际是在iptables做了DNAT规则,实现端口转发功能。可以使用iptables -t nat -vnL查看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/329607.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【DevOps】深入浅出:Jenkins 性能监控全解析

目录 一、监控指标:把握系统健康状况 1、资源利用率: 2、 任务执行效率: 3、系统稳定性: 二、监控工具:选择合适的利器 1、Jenkins 内置监控 1.1、Jenkins Performance Plugin:系统性能指标的直观展…

性能测试工具

性能测试工具 1.Jmeter 环境搭建1.安装JDK2.安装Jmeter1.下载2.安装3.环境配置 3.Jmeter 文件目录介绍1.bin目录2.docs 目录3.printable_docs目录4.lib目录 4.修改默认配置1.汉化配置2.修改主题 5.元件的基本介绍6.元件的作用域作用域的原则 7.元件的执行顺序 1.Jmeter 环境搭建…

登录安全分析报告:创蓝云智注册

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

ubuntu22.04下 easyconnect+输入法安装

先使用对应ubuntu版本的easyconnect安装 sudo dpkg -i EasyConnect_x64_7_6_7_3.deb 下载压缩包servicePack,并解压缩 cd 下载路径/servicePack sudo cp * /usr/share/sangfor/EasyConnect/ 打开easyConnect /usr/share/sangfor/EasyConnect/EasyConnect 此处…

Windows安全应急--反隐身术

NO.1 dir命令 首先做个演示,把演示01这个文件夹隐藏起来, 在文件夹上是看不到了, 我们可以使用dir命令查看, NO.2 文件夹选项–显示隐藏 这个是非常常规的了, 这里不做过多介绍 有些隐藏文件很顽固,上面…

mysql基础概念

一 基本操作 1 SQL分类 数据库:database 表:table,行:row 列:column 索引:index 视图:view 存储过程:procedure 存储函数:function 触发器:trigger 事…

使用HiBurn烧录鸿蒙.bin文件到Hi3861开发板

鸿蒙官方文档的“Hi3861开发板第一个示例程序”中描述了——如何使用DevEco Device Tool工具烧录二进制文件到Hi3861开发板; 本文将介绍如何使用HiBurn工具烧录鸿蒙的.bin文件到Hi3861开发板。 获取HiBurn工具 通过鸿蒙官方文档我们知道DevEco Device Tool是一个V…

Docker访问文件权限受限问题解决

问题描述 运行项目的docker环境,新添加了一个数据集,但是数据集的访问权限受限(Permission dinied),运行的命令如图所示 问题解决 chmod 777 xxx YYDS!!!但是单纯直接运行会因为权限…

5.22R语言初步学习-1

今天上课讲R语言,要干什么没讲,分析什么,目的是什么没讲。助教基本上就是让我们打开窗口,按要求抄代码指令,代码原理也没讲......再加上最近正好在学概率论与数理统计,肯定是有用的,所以还是学习…

CLIP论文学习

学习来自B站bryanyzhu

【list】list库介绍 + 简化模拟实现

本节博客先对list进行用法介绍,再在库的基础上简化其内容和形式,简单进行模拟实现,有需要借鉴即可。 目录 1.list介绍1.1 list概述1.2相关接口的介绍 2.简化模拟实现3.各部分的细节详述3.1结点3.2迭代器细节1:迭代器用原生指针还是…

风控指南:国内车险欺诈呈现四大趋势

目录 车险欺诈呈现内外勾结的团伙化 防范车险欺诈需要多重合作 保险企业需要提升反欺诈能力 监管部门需要加强协同合作 2024年4月11日,国家金融监督管理总局官网发布国家金融监督管理总局关于《反保险欺诈工作办法(征求意见稿)》公开征求意见…

Spark-广播变量详解

Spark概述 Spark-RDD概述 1.为什么会需要广播变量? 广播变量是为了在分布式计算环境中有效地向集群中的所有节点广播大型只读数据集而设计的。 在分布式环境中,通常会遇到需要在所有节点上使用相同的数据集的情况,但是将这些数据集复制到每个…

ChatGPT移动应用收入在GPT-4o发布后迎来最大涨幅

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

Redis崩溃后,如何进行数据恢复的?no.24

本课时我们主要学习通过 RDB、AOF、混合存储等数据持久化方案来解决如何进行数据恢复的问题。 Redis 持久化是一个将内存数据转储到磁盘的过程。Redis 目前支持 RDB、AOF,以及混合存储三种模式。 RDB Redis 的 RDB 持久化是以快照的方式将内存数据存储到磁盘。在…

SpringCloud系列(27)--OpenFeign日志增强

前言:在上一章节中我们简单的介绍了如何去调节OprnFeign的连接超时时间,在OpenFeign的使用过程中可能需要对Feign接口的调用情况进行监控和输出,这时候就需要对OpenFeign进行日志增强处理,所以本节的内容即是关于OpenFeign的日志增…

智能科技的新风潮:探索Web3与物联网结合

引言 随着科技的不断进步和创新,智能科技正成为新时代的主旋律。在这个充满活力和变革的时代,Web3技术与物联网的结合成为了一股新的风潮。本文将深入探讨这一新趋势,揭示Web3与物联网结合的意义、挑战和前景。 Web3技术的特点与优势 区块链…

Nginx企业级负载均衡:技术详解系列(11)—— 实战一机多站部署技巧

你好,我是赵兴晨,97年文科程序员。 工作中你是否遇到过这种情况:公司业务拓展,新增一个域名,但服务器资源有限,只能跟原有的网站共用同一台Nginx服务器。 也就是说两个网站的域名都指向同一台Nginx服务器…

spring boot 之 结合aop整合日志

AOP 该切面仅用于请求日志记录&#xff0c;若有其他需求&#xff0c;在此基础上扩展即可&#xff0c;不多逼逼&#xff0c;直接上代码。 引入切面依赖 <!-- 切面 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>sp…

excel里如何将数据分组转置?

这个表格怎样转换为下表&#xff1f;按照国家来分组&#xff0c;把不同年份对应的不同序列值进行转置&#xff1f;&#xff1f; 这演示用数据透视表就完成这个数据转换。 1.创建数据透视表 选中数据中任意单元格&#xff0c;点击插入选项卡&#xff0c;数据透视表&#xff0c;…