Docker 之 bootfs、rootfs 概述

Docker 之 bootfs、rootfs 概述


目录


前言

在容器技术中,bootfsrootfs 是与容器文件系统相关的概念,用于描述容器内操作系统的不同层次。它们的功能类似于传统操作系统的文件系统层,但在容器中以更轻量化的形式实现。

什么是 bootfs?

bootfs(Boot File System)是文件系统的引导层,主要包含用于启动 Linux 内核的最基本文件。

  • 功能:
    • 包含内核启动相关的内容(类似于传统操作系统的 /boot)。
    • 当内核加载完成并进入运行态后,bootfs 就会被卸载,交由 rootfs
  • 在容器中的表现:
    • 容器使用宿主机的内核,因此容器启动时不需要额外加载自己的 bootfs
    • 容器启动过程中不会涉及独立的内核加载,bootfs 通常由宿主机的内核提供支持。

什么是 rootfs?

rootfs(Root File System)是容器的根文件系统,包含操作系统运行所需的基本目录结构和工具,例如 /bin/lib/etc 等。

  • 功能:
    • 提供容器运行的环境,包括系统库、应用程序、配置文件等。
    • 相当于操作系统的根目录。
  • 在容器中的表现:
    • 容器的 rootfs 通常是一个精简版的文件系统。
    • 容器共享宿主机内核,因此不需要提供完整的操作系统,只需要提供运行应用程序的最小化环境。
  • rootfs 的来源:
    • 可以是完整的操作系统镜像(如 Ubuntu、CentOS)。
    • 可以是精简的文件系统(如 Alpine Linux,只包含基础工具和库)。

容器文件系统的关系

传统操作系统:

  • 启动时,bootfs 负责加载内核,随后切换到 rootfs,为用户提供完整的操作系统环境。

容器:

  • 容器的启动过程依赖于宿主机内核,因此没有独立的 bootfs
  • 容器只需要 rootfs 提供用户空间所需的文件和依赖。

容器文件系统的特点

分层文件系统: 容器的文件系统使用分层存储,如 OverlayFS、AUFS 等。

  • 镜像层(read-only): 提供基础文件系统(通常是 rootfs)。
  • 容器层(read-write): 容器启动时在镜像层上添加一个读写层,存储运行时的更改。

轻量化:

  • 容器的 rootfs 只包含运行所需的最小组件,减少资源占用。

通过以上概述,这回你就明白了为什么你在容器中看到的内核版本与宿主机是一样的,尽管发行版本不一样,同时你也应该明白了,为什么运行一个容器是如此的轻量级。

---END

相关推荐
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工3 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
Alsn863 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
酣大智3 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_3 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉3 天前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
AC赳赳老秦3 天前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
2601_961875243 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant