简述docker映射(Mapping)和挂载(Mounting)

映射的概念:
将容器内的端口映射到主机的端口上,这样就可以通过主机的网络接口与容器内部进行通信。主机上对应端口的请求会被转发到容器内部,从而实现对容器内部程序的通信访问(注意!这里提到的容器内部的端口并不一定是dockerfile中EXPOSE指定的端口号,容器内部的端口号通常是指容器内部程序运行时指定的端口号)

实现映射:
通常实现映射(Mapping),是在启动容器时实现的。需要使用-p参数。
例如:执行命令 docker run -p host_port:container_port 镜像名
host_port:想要映射的主机端口号
container_port:容器内部端口号
通过上述命令新建容器之后,便可以通过:host_ip:host_port访问容器内部的程序
在这里插入图片描述

挂载的概念:
挂载是指将主机上的目录和文件与容器内部的文件系统进行关联。挂载完成之后,可以实现数据共享、持久化、文件资源共享、配置文件动态配置、日志收集、容器间相互通信。
数据持久化:挂载之后,容器内部的数据在容器重启或者删除之后,依然会存在于宿主机指定的目录或者文件中。
数据共享:重新创建容器时,再次指定该目录或者文件为容器的挂载目录或者文件时,新的容器仍可以继续访问之前容器的数据。
资源共享:文件共享(挂载目录或者的文件读写实时同步)、硬件设备共享(容器可以使用宿主机的usb、摄像头等)、网络设备共享(容器可以通过网络访问宿主机上的网络接口、访问外部网络或与其他容器进行网络通信)、环境变量共享等。
配置文件动态配置:将配置文件挂载到容器中,基于资源共享的特性,变更配置文件之后,无须重构镜像,配置变更也能在容器中直接生效。
日志收集:将宿主机的日志目录挂载容器中,容器内部的日志额可以实时写入宿主机,方便日志文件的收集和分析。
容器间相互通信:多个容器挂载统一目录或者文件实现相互通信。

实现挂载:
docker容器实现挂载的方式有多种,如使用 -v 参数 --mount参数、使用docker compose管理容器化程序、使用使用 Kubernetes 的挂载卷等。每种方式需要结合实际情况使用。下面我将以最简单的-v参数举例(因为我是测试,其他的我仅做了解,-v目前够用,其他的大家可以自行探索)
我以我代码挂载为例:我不想每次更改代码之后,都需要去重构镜像生效,因此我这里用到了挂载,挂载之后会基于资源共享的特性,完成代码实时更新同步,而不用去重新构建镜像。
使用-v 参数实现容器的挂载:
执行命令:docker run -d -v /host/path:/container/path 镜像名
其中,/host/path是我代码在宿主机中的路径,/container/path是指容器的内部的代码存放路径。
执行结果如下:出行了容器的ID之后,代表已经成功启动。
在这里插入图片描述
检查一下是否挂载成功,在宿主机更改一下代码的内容,我这更改的是网页名称,更改完成之后,重新刷新网页,发现网页名称已经同步更改。表示我已经成功挂载。

                                                                      -------------学海无涯

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

arcgis的MapServer服务查询出来的结果geometry坐标点带*的问题

不知道小伙伴使用arcgis server服务做查询的时候,有没有遇到下面的问题 原因是查询结果中出现*字符 这个问题一直困扰了我很久:因为从数据库查询的坐标点是没有问题的。 一开始有同事遇到过,说重新插入下就好了,有时候确实能解决…

Qt 获取文件图标、类型 QFileIconProvider

Qt中获取系统图标、类型是通过QFileIconProvider来实现的,具体如下: 一、Qt获取系统文件图标1、获取文件夹图标QFileIconProvider icon_provider;QIcon icon icon_provider.icon(QFileIconProvider::Folder);2、获取指定文件图标QFileInfo file_info(n…

最详细jdk安装以及配置环境(保姆级教程)

一.进入oracle官网,下载jdk oracle官网:Oracle | Cloud Applications and Cloud Platform ps:不同的浏览器,可能进入oracle官网,会只显示部分内容,所以建议使用google Chrome浏览器 在下载之前,首先需要去…

UML四大关系

文章目录 引言UML的定义和作用UML四大关系的重要性和应用场景关联关系继承关系聚合关系组合关系 UML四大关系的进一步讨论UML四大关系的实际应用软件开发中的应用其他领域的应用 总结 引言 在软件开发中,统一建模语言(Unified Modeling Language&#x…

7 集群基本测试

1. 上传小文件到集群 在hadoop路径下执行命令创建一个文件夹用于存放即将上传的文件: [atguiguhadoop102 ~]$ hadoop fs -mkdir /input上传: [atguiguhadoop102 hadoop-3.1.3]$ hadoop fs -put wcinput/work.txt /input2.上传大文件 [atguiguhadoop1…

Mybatis-Plus快速入门

目录 一、基础工程 1、创建一个数据库:mp 2、添加数据 3、创建初始工程 4、添加依赖 二、Mybatis Mybatis-Plus 1、创建子工程:mybatis-plus-simple 2、在子工程下添加配置 2.1Mybatis实现查询User 2.1.1、编写User实体对象 2.1.2、编写UserMa…

pdf.js构建时,报Cannot read property ‘createChildCompiler‘ of undefined #177的解决方法

在本地和CI工具进行构建时,报如下错误。 Cannot read property createChildCompiler of undefined #177解决方法: 找到vue.config.js,在 module.exports {parallel: false, //新增的一行chainWebpack(config) {....config.module.rule(&…

微信小程序 基于Android的美容理发师预约管理系统

,本系统主要根据管理员、用户及理发师的实际需要,方便用户利用互联网实现对商品信息进行立即订购,同时让管理者可以通过这个系统对用户实际需求以及各信息进行管理。设计该系统主要目的是为了方便用户、理发师可以有一个非常好的平台体验&…

Qt/C++编写视频监控系统80-远程回放视频流

一、前言 远程回放NVR或者服务器上的视频文件,一般有三种方式,第一种是调用厂家的SDK,这个功能最全,但是缺点明显就是每个厂家的设备都有自己的SDK,只兼容自家的设备,如果你的软件需要接入多个厂家的&…

利用LLM模型微调的短课程;钉钉宣布开放智能化底座能力

🦉 AI新闻 🚀 钉钉宣布开放智能化底座能力AI PaaS,推动企业数智化转型发展 摘要:钉钉在生态大会上宣布开放智能化底座能力AI PaaS,与生态伙伴探寻企业服务的新发展道路。AI PaaS结合5G、云计算和人工智能技术的普及和…

前端如何走通后端接口

0 写在前面 现在基本都是前后端分离的项目了,那么前端小伙伴如何获取后端小伙伴接口呢? 1 条件 同一WiFi下,让后端小伙伴分享出自己的ip地址: 步骤1:winr调出运行界面 步骤2:cmd调出命令行窗口 步骤3:…

接口多态 面试题及习题

基础题目 第一题:概念辨析 什么是接口,如何定义接口? 接口,是Java语言中一种引用类型,是方法的集合。使用interface关键定义接口,其中可以定义抽象方法,默认方法,私有方法&#xf…

ESP32应用教程(0)— PMW3901MB光流传感器

文章目录 前言 1 传感器介绍 1.1 关键特征 1.2 关键参数 2 硬件概述 2.1 信号引脚 2.2 参考电路图 3 寄存器 3.1 寄存器列表 3.2 性能优化寄存器 4 代码说明 4.1 结构体说明 4.2 编译说明 5 波形分析 前言 本文介绍了在 ESP32 DEVKIT V1 开发板上开发 PMW3901MB…

VR防地质灾害安全教育:增强自然灾害知识,提高自我保护意识

VR防地质灾害安全教育系统是一种虚拟仿真技术,可以通过虚拟现实技术模拟地震、泥石流、滑坡等地质灾害的发生和应对过程,帮助人们提高应对突发自然灾害的能力。这种系统的优势在于可以增强自然灾害知识,提高自我保护意识,锻炼人们…

4. 池化层相关概念

4.1 池化层原理 ① 最大池化层有时也被称为下采样。 ② dilation为空洞卷积,如下图所示。 ③ Ceil_model为当超出区域时,只取最左上角的值。 ④ 池化使得数据由5 * 5 变为3 * 3,甚至1 * 1的,这样导致计算的参数会大大减小。例如1080P的电…

R语言实现网状Meta分析(1)

#R语言实现网状Meta library(gemtc) help(package"gemtc") data<-gemtc::smoking #注意按照实例格式编写数据 net<-mtc.network(data$data.ab) #网状图 plot(net,mode"circle",displaylabelsT,boxed.labelF) summary(net) #网状model model<-mtc…

wazuh环境配置和漏洞复现

1.wazuh配置 虚拟机 &#xff08;OVA&#xff09; - 替代安装 (wazuh.com)在官方网页安装ova文件 打开VMware选择打开虚拟机&#xff0c;把下载好的ova文件放入在设置网络改为NAT模式 账号:wazuh-user 密码:wazuh ip a 查看ip 启动小皮 远程连接 账号admin …

温故知新之:代理模式,静态代理和动态代理(JDK动态代理)

0、前言 代理模式可以在不修改被代理对象的基础上&#xff0c;通过扩展代理类&#xff0c;进行一些功能的附加与增强。 1、静态代理 静态代理是一种代理模式的实现方式&#xff0c;它在编译期间就已经确定了代理对象&#xff0c;需要为每一个被代理对象创建一个代理类。静态代…

机器学习资料汇总

一 卷积 原来卷积是这么计算的 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/268179286 最核心的部分是要知道&#xff0c;通道数和输出特征图无关&#xff0c;是卷积核的个数&#xff0c;决定了输出特征图的个数

详解 SpringMVC 的 @RequestMapping 注解

文章目录 1、RequestMapping注解的功能2、RequestMapping注解的位置3、RequestMapping注解的value属性4、RequestMapping注解的method属性5、RequestMapping注解的params属性&#xff08;了解&#xff09;6、RequestMapping注解的headers属性&#xff08;了解&#xff09;7、Sp…