【深入剖析K8s】容器技术基础(三):深入理解容器镜像 文件角度

容器里的进程‘看到’’的文件系统

可能你立刻就能想到,这应该是_个关于MountNamespace的问题:容器里的应用进程理应‘看到”一套完全独立的文件系统°这样它就可以在自己的容器目录(比如/tmp)下进行操作’而完全不会受宿主机以及其他容器的影响。

容器迸程哪些目录需要重新挂载’比如这个/tmp目录。
可以看到’容器里的/tmp目录是以tmpfS方式单独挂载的。容器以tmpfS(内存盘)格式重新挂载/tmp目录。
在这里插入图片描述
这就是Mount Namespace跟其他Namespace的使用略有不同的地方:它对容器进程视图的改变—定要伴随着挂载操作才能生效。

假设有—个$HOME/test目录’你想把它作为—个/bin/bash进程的根目录。

执行chroot t命令’告诉操作系统我们将使用$HOME/test目录作为/bin/bash进程的根目录。

这个挂载在容器根目录上用来为容器进程提供隔离后执行环境的文件系统’就是所谓的容器镜像。 它还有—个更专业的名字: rootfs(根文件系统)。

dock 最核心原理

Docker项目最核心的原理实际上就是为待创建的用户进程。

  • 启用Linux Namespace配置;
  • 设置指定的Cgroups参数;
  • 切换进程的根目录(change root)

rootfs 只是—个操作系统所包含的文件、配置和目录’并不包括操作系统内核。
在Llnux操作系统中这两部分是分开存放的’操作系统只有在开机启动时才会加载指定版本的内核镜像。

rootfS只是—个操作系统所包含的文件、配置和目录’并不包括操作
系统内核°在Llnux操作系统中’这两部分是分开存放的’操作系统只有在开机启动时才会加载指定版本的内核镜像°

正是由于rootfS的存在’容器才有了—个被反复强调至今的重要特:一致性

由于云端与本地服务器环境不同’因此应用的打包过程一直是使用PaaS时最麻烦的一个步骤。

’有了容器镜像(rootfs)之后,这个问题就被非常优雅地解决了。由于root色里打包的不只是应用’而是整个操作系统的文件和目录,这就意味着’应用以及它运行所需要的所有依赖都被封装在了一起。

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

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

相关文章

DataGrip 2023.2.3(IDE数据库开发)

DataGrip是一款数据库集成开发环境(IDE),用于数据库管理和开发。 DataGrip提供了许多强大的功能,如SQL语句编辑、数据库连接管理、数据导入和导出、数据库比较和同步等等。它支持多种数据库,如MySQL、PostgreSQL、Ora…

CSDN动态发了但是主页面看不见已发的动态

问题描述: 今天在写csdn动态的时候,发了五个动态,但是主页面的“最近”看不到我发的动态,我还以为是csdn动态每天的发送量有数量限制。去这个地方点我的发现 右上角全是“审核中”的字样 按理说是不可能审核这么久的&#xff08…

Arduino驱动温湿度气压光照传感器模块

目录 一、简介二、原理图三、使用方法四、实验现象 一、简介 点击图片购买 HTU21D特性:HTU21D基于法国Humirel公司高性能的湿度感应元件制成,传感器输出标准IIC格式。同时具有很高的温度精度和湿度精度。HTU21专为低功耗小体积应用设计,具有很…

【挑战业余一周拿证】CSDN官方课程目录

一、亚马逊云科技简介 二、在云中计算 三、全球基础设施和可靠性 四、联网 五、存储和数据库 六、安全性 七、监控和分析 八、定价和支持 九、迁移和创新 十、云之旅 关注订阅号 CSDN 官方中文视频(免费):点击进入 一、亚马逊云科…

90. 打家劫舍II (房子围成一圈)

题目 题解 class Solution:def rob(self, nums: List[int]) -> int:def dp(nums: List[int]) -> int:N len(nums)# 定义状态:dp[i]表示从第i个房屋开始偷窃,能够偷到的最高金额dp [0 for i in range(N)]for i in range(N-1, -1, -1):if i N-1:…

【二叉树】oj题

在处理oj题之前我们需要先处理一下之前遗留的问题 在二叉树中寻找为x的节点 BTNode* BinaryTreeFind(BTNode* root, int x) {if (root NULL)return NULL;if (root->data x)return root;BTNode* ret1 BinaryTreeFind(root->left, x);BTNode* ret2 BinaryTreeFind(ro…

Alfred v5.1.4(mac快速启动)

Mac效率办公软件哪个好?Alfred是一款Mac电脑上的快速启动和工作流自动化工具,它可以帮助用户快速访问文件、应用程序、web搜索和系统工具,提高工作效率。以下是Alfred的特点: 快速启动:用户可以通过Alfred快速启动应用…

scipy 笔记:scipy.spatial.distance

1 pdist 计算n维空间中观测点之间的成对距离。 scipy.spatial.distance.pdist(X, metriceuclidean, *, outNone, **kwargs) 1.1 主要参数 X一个m行n列的数组,表示n维空间中的m个原始观测点metric使用的距离度量out输出数组。如果非空,压缩的距离矩阵…

Dempster-Shafer(D-S)证据理论的基本定义和详细分析,优点,缺点,应用!!(系列1)

文章目录 前言一、D-S证据理论的应用:二、D-S证据理论的优点:三、D-S证据理论的缺陷:四、D-S组合规则:总结 前言 Dempster-Shafer(D-S)证据理论是一种不精确推理理论,也称为Dempster/Shafer证据…

深度学习第2天:RNN循环神经网络

☁️主页 Nowl 🔥专栏《机器学习实战》 《机器学习》 📑君子坐而论道,少年起而行之 文章目录 介绍 记忆功能对比展现 任务描述 导入库 处理数据 前馈神经网络 循环神经网络 编译与训练模型 模型预测 可能的问题 梯度消失 梯…

python 笔记 根据用户轨迹+基站位置,估计基站轨迹+RSRP

1 问题描述 已知用户实际的轨迹,和基站的位置,能不能得到用户所连接的基站,以及基站的信号强度RSRP? 1.1 几个假设 这里我们做几个假设: 每个用户有80%的概率连接最近的基站,有20%的概率选择其他的基站连…

在mysql存储过程中间部分,使用游标遍历动态结果集(游标动态传参使用)

mysql游标动态传参实现(动态游标) 1.问题2.需求描述3.实现3.1.使用3.2.代码(直接看这都可以) 1.问题 众所周知,mysql存储过程功能是没有oracle的包功能强大的,但是在去O的趋势下,mysql存储过程的…

使用git下载远程所有分支到本地

使用git下载远程所有分支到本地: 打开gitbash 输入以下命令即可: git clone git地址 cd git文件夹 git branch -r | grep -v \-> | while read remote; do git branch --track "${remote#origin/}" "$remote"; done git fetch -…

灭火器二维码巡检卡制作教程

每个消防器材生成独立二维码,取代传统纸质巡检卡,微信扫码巡检,巡检记录汇总后台,随时登录后台查看导出数据,管理人员绑定凡尔码小程序即可随时了解消防巡检完成情况。 生成灭火器巡检码流程图: 1、开通后…

百家号MCN是什么?百家号MCN禁止拉子账号怎么解决?

在当今数字化时代,社交媒体平台已成为人们获取信息、分享观点和创作内容的重要渠道之一。百家号作为百度旗下的自媒体平台,吸引了众多创作者和机构入驻,以分享优质内容并获得收益。在百家号上,MCN矩阵扮演着重要的角色&#xff0c…

目标检测原理

一、什么是目标检测 目标检测的任务是找出图像中所有感兴趣的目标(物体),确定他们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状、姿态,再加上光照、遮挡等因素的干扰,目…

如何在Node.js和Express中设置TypeScript(2023年)

如何在Node.js和Express中设置TypeScript(2023年) 在这篇文章中,我们将介绍在Express应用程序中设置TypeScript的最佳方法,了解与之相关的基本限制。 文章目录 如何在Node.js和Express中设置TypeScript(2023年&#x…

RT-DETR 更换损失函数之 SIoU / EIoU / WIoU / Focal_xIoU

文章目录 更换方式CIoUDIoUEIoUGIoUSIoUWIoUFocal_CIoUFocal_DIoUFocal_EIoUFocal_GIoUFocal_SIoU提示更换方式 第一步:将ultralytics/ultralytics/utils/metrics.py文件中的bbox_iou替换为如下的代码:class

图书管理系统源码,图书管理系统开发,图书借阅系统源码三框架设计原理和说明

TuShuManger项目简介和创建 这里一共设计了6个项目,主要是借助三层架构思想分别设计了主要的三层,包括model实体层,Dal数据库操作层,Bll业务调用层,其他有公共使用项目common层,DButitly提取出来的数据库访问层,下面我们分别创建每个项目和开始搭建整个过程 TuShuManger…

第二十一章 解读XML与JSON文件格式(工具)

XML 带分隔符的文件仅有两维的数据:行 & 列。如果我们想在程序之间交换数据结构,需要一种方法把层次结构,序列,集合和其它的数据结构编码成文本。 今天要说的 XML 是最突出的处理上述这种转换的标记格式,它使用标…