Docker 之 bootfs 和 rootfs概述

概述

在 Docker 技术中,理解 bootfs(boot file system)和 rootfs(root file system)的概念对于深入掌握容器技术至关重要。这两个文件系统是 Docker 镜像和容器运行的基础。
在这里插入图片描述

bootfs(Boot File System)

bootfs 是 Docker 镜像的最底层,与典型的 Linux/Unix 系统相似,包含 boot 加载器和 kernel 内核。在系统启动时,首先加载的是 bootfs 文件系统。bootfs 的主要作用是引导加载 kernel。一旦 boot 加载完成,整个内核就会被加载到内存中,此时系统会将 bootfs 卸载。由于 Docker 容器共享宿主机的内核,因此 Docker 镜像中不需要包含 bootfs,这大大减少了镜像的大小。

rootfs(Root File System)

rootfs 位于 bootfs 之上,包含了典型 Linux 系统中的 /dev, /proc, /bin, /etc 等标准目录和文件。rootfs 实际上是各种不同操作系统发行版的体现,比如 Ubuntu、CentOS 等。在 Docker 中,不同的发行版镜像主要的区别就在于 rootfs 层,因为它们共享相同的 bootfs 层。

Docker 镜像和容器的工作原理

Docker 镜像是由多个层组成的,每一层代表文件系统的变化。这些层叠加在一起,形成了一个完整的文件系统,也就是容器运行时的 rootfs。Docker 容器启动时,会使用宿主机的 bootfs,而 rootfs 则是由 Docker 镜像中的层叠加而成。
在这里插入图片描述

为什么 Docker 镜像可以这么小

传统的 Linux 发行版安装可能需要几个 GB 的空间,而 Docker 镜像通常只需要几百 MB,甚至更小。这是因为 Docker 镜像只包含 rootfs 层所需的文件和工具,而底层直接使用宿主机的 kernel。这样,不同的 Linux 发行版可以共用 bootfs,而只在自己的 rootfs 中有所区别。

结论

通过理解 bootfs 和 rootfs 的概念,我们可以更好地理解 Docker 镜像的构建和容器的运行机制。Docker 通过共享宿主机的内核和精简的 rootfs,实现了轻量级的容器部署和运行,这也是 Docker 技术高效和灵活的原因之一。

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

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

相关文章

困扰解决:mfc140u.dll丢失的解决方法,多种有效解决方法全解析

当电脑提示“mfc140u.dll丢失”时,这可能会导致某些程序无法正常运行,给用户带来不便。不过,有多种方法可以尝试解决这个问题。这篇文章将以“mfc140u.dll丢失的解决方法”为主题,教大家有效解决mfc140u.dll丢失。 判断是否是“mf…

M4V 视频是一种什么格式?如何把 M4V 转为 MP4 格式?

M4V 是一种视频文件格式,主要由苹果公司用于其产品和服务中,如 iTunes Store 上的电影和电视节目。这种格式可以包含受版权保护的内容,并且通常与苹果的 DRM(数字版权管理)技术结合使用,以限制内容的复制和…

VS打开UI文件失败

选择一个UI文件,右键打开方式,要自己添加路径 然后选择自己的QT Creator路径 可以参考我的去找一下:"C:\Qt\Qt5.14.2\Tools\QtCreator\bin\qtcreator.exe"

docker 运行my-redis命令

CREATE TABLE orders ( order_id bigint NOT NULL COMMENT "订单ID", dt date NOT NULL COMMENT "日期", merchant_id int NOT NULL COMMENT "商家ID", user_id int NOT NULL COMMENT "用户ID", good_id int NOT NULL COMMENT "商…

网络编程(UDP\TCP回显服务器)

目录 套接字socket TCP和UDP特点比较 特点 比较 UDP回显服务器/客户端的编写 UDP的socket api 回显服务器 客户端 TCP回显服务器/客户端的编写 TCP的socket api 回显服务器 客户端 优化服务器 1.关闭服务器创建的socket对象 2.引入线程池,为多个客户…

leetcode 之 二分查找(java)(3)

文章目录 5. 81. 搜索旋转排序数组 II6. 378、有序矩阵中第k个小的元素 5. 81. 搜索旋转排序数组 II 题目描述: 已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同。 在传递给函数之前,nums 在预先未知的某个下标 k&#…

(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验三----学校选址与路径规划(超超超详细!!!)

目录 实验三 学校选址与道路规划 3.1 实验内容及目的 3.1.1 实验内容 3.1.2 实验目的 3.2 实验方案 3.3 操作流程 3.3.1 环境设置 3.3.2 地势分析 (1)提取坡度: (2)重分类: 3.3.3 学校点分析 (1)欧氏距离: (2)重分类: 3.3.4 娱乐场所点分析 (1)欧氏距离…

【Delphi】modbus-TCP 协议库

在日常开发中,也会遇到使用modbus的部件,比如温度控制器、读卡器等等,那么使用Delphi开发,也就必须遵守modbus-TCP协议,如果自己使用TCP控件写也没有问题,不过如果有开源的三方库,别人已经调试过…

对载入的3dtiles进行旋转、平移和缩放变换。

使用 params: {tx: 129.75845, //模型中心X轴坐标(经度,单位:十进制度)//小左ty: 46.6839, //模型中心Y轴坐标(纬度,单位:十进制度)//小下tz: 28, //模型中心Z轴坐标(高…

计算机网络-网络安全

网络安全介绍 端口扫描 安全包括那些方面: 数据存储安全、应用程序安全、操作系统安全、网络安全、物理安全、用户安全教育 一、网络安全问题概述 1. 计算机网络面临的安全性威胁 计算机网络上的通信面临以下的四种威胁: 截获——从网络上窃听他人…

GEE Download Data——气温数据的下载

GEE数据下载第二弹!今天我们来分享气温数据的下载。 一、数据介绍 气温数据我们要用到的是MODIS数据产品,MOD11A2 V6.1 产品提供 1200 x 1200 公里网格内 8 天平均陆地表面温度 (LST)。 MOD11A2 中的每个像素值都是该 8 天内收集的所有相应 MOD11A1 LST 像素的简单平均值。…

【第 1 章 初识 C 语言】1.8 使用 C 语言的 7 个步骤

目录 1.8 使用 C 语言的 7 个步骤 1.8.1 第 1 步:定义程序的目标 1.8.2 第 2 步:设计程序 1.8.3 第 3 步:编写代码 1.8.4 第 4 步:编译 1.8.5 第 5 步:运行程序 1.8.6 第 6 步:测试和调试程序 1.8.…

docker部署RustDesk自建服务器

客户端: Releases rustdesk/rustdesk GitHub 服务端: 项目官方地址:GitHub - rustdesk/rustdesk-server: RustDesk Server Program 1、拉取RustDesk库 docker pull rustdesk/rustdesk-server:latest 阿里云库: docker pu…

rk2118--RT-Thread 消息队列

1、概述 什么是 RT-Thread 消息队列 RT-Thread 消息队列是一种用于在任务或中断服务例程(ISR)之间传递消息的机制。它允许一个任务或ISR发送数据到消息队列中,而另一个任务可以从消息队列中接收这些数据。消息队列提供了一种异步通信的方式&…

Scala的模式匹配(3)

package hfd.test32 import scala.io.StdInobject Test34_3 {def main(args: Array[String]): Unit {//从控制台读入一个数字aval aStdIn.readInt()// if (a>0 && a<3){println("[0,3")} // else if(a>4 &&a<8){println("[4…

通义灵码走进北京大学创新课堂丨阿里云云原生 10 月产品月报

云原生月度动态 云原生是企业数字创新的最短路径。 《阿里云云原生每月动态》&#xff0c;从趋势热点、产品新功能、服务客户、开源与开发者动态等方面&#xff0c;为企业提供数字化的路径与指南。 趋势热点 &#x1f947; 通义灵码走进北京大学创新课堂&#xff0c;与 400…

代码随想录第十四天|二叉树part02--226.翻转二叉树、101.对称二叉树、104.二叉树的最大深度、111.二叉树的最小深度

资料引用&#xff1a; 226.翻转二叉树&#xff08;226.翻转二叉树&#xff09; 101.对称二叉树&#xff08;101.对称二叉树&#xff09; 104.二叉树的最大深度&#xff08;104.二叉树的最大深度&#xff09; 111.二叉树的最小深度&#xff08;111.二叉树的最小深度&#xff09;…

二阶线性微分方程的幂级数解法

内容来源 常微分方程(第四版) (王高雄,周之铭,朱思铭,王寿松) 高等教育出版社 考虑二阶齐次线性微分方程 d 2 y d x 2 p ( x ) d y d x q ( x ) y 0 \frac{\mathrm{d}^2y}{\mathrm{d}x^2} p(x)\frac{\mathrm{d}y}{\mathrm{d}x}q(x)y0 dx2d2y​p(x)dxdy​q(x)y0 满足初值条…

Java基础面向对象(String类)

String 特点 是内存中常量, 值在内存中一旦创建, 不可改 更改String类型引用的值本质上是将引用指向了一个新的字符串地址 String s1 "abc";String s2 s1;//引用s1的地址赋值给了s2 ​s2 "edf";//让s2指向新字符串 ​System.out.println("s1: &q…

【系统架构设计师】真题论文: 论软件质量保证及其应用(包括解题思路和素材)

更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 真题题目(2017年 试题4)解题思路论文素材参考软件质量保证定义和重要性软件质量保证在软件开发生命周期中的应用真题题目(2017年 试题4) 软件质量保证 (Software Quality Assurance. SQA) 是指为保证软件系统或…