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

相关推荐
全栈工程师修炼指南3 分钟前
Nginx | stream 四层反向代理:SSL、PREREAD 阶段模块指令浅析与实践
运维·网络·网络协议·nginx·ssl
Zfox_31 分钟前
CANN Catlass 算子模板库深度解析:高性能 GEMM 融合计算、Cube Unit Tiling 机制与编程范式实践
docker·云原生·容器·eureka
威迪斯特1 小时前
CentOS图形化操作界面:理论解析与实践指南
linux·运维·centos·组件·图形化·桌面·xserver
一方热衷.1 小时前
在线安装对应版本NVIDIA驱动
linux·运维·服务器
独自归家的兔1 小时前
ubuntu系统安装dbswitch教程 - 备份本地数据到远程服务器
linux·运维·ubuntu
ONE_SIX_MIX1 小时前
ubuntu 24.04 用rdp连接,桌面黑屏问题,解决
linux·运维·ubuntu
龙飞051 小时前
Systemd -systemctl - journalctl 速查表:服务管理 + 日志排障
linux·运维·前端·chrome·systemctl·journalctl
春日见1 小时前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
DARLING Zero two♡1 小时前
告别 Docker 命令行!Portainer+cpolar 让容器管理从局域网走向公网
运维·docker·容器
消失的旧时光-19432 小时前
Linux 编辑器入门:nano 与 vim 的区别与选择指南
linux·运维·服务器