Docker 中的 bootfs、rootfs 簡介
Docker 之 bootfs、rootfs 概述
前言
在容器技術(shù)中,bootfs 和 rootfs 是與容器文件系統(tǒng)相關(guān)的概念,用于描述容器內(nèi)操作系統(tǒng)的不同層次。它們的功能類似于傳統(tǒng)操作系統(tǒng)的文件系統(tǒng)層,但在容器中以更輕量化的形式實(shí)現(xiàn)。
什么是 bootfs?
bootfs
(Boot File System)是文件系統(tǒng)的引導(dǎo)層,主要包含用于啟動(dòng) Linux 內(nèi)核的最基本文件。
- 功能:
- 包含內(nèi)核啟動(dòng)相關(guān)的內(nèi)容(類似于傳統(tǒng)操作系統(tǒng)的
/boot
)。 - 當(dāng)內(nèi)核加載完成并進(jìn)入運(yùn)行態(tài)后,
bootfs
就會(huì)被卸載,交由rootfs
。
- 包含內(nèi)核啟動(dòng)相關(guān)的內(nèi)容(類似于傳統(tǒng)操作系統(tǒng)的
- 在容器中的表現(xiàn):
- 容器使用宿主機(jī)的內(nèi)核,因此容器啟動(dòng)時(shí)不需要額外加載自己的
bootfs
。 - 容器啟動(dòng)過程中不會(huì)涉及獨(dú)立的內(nèi)核加載,
bootfs
通常由宿主機(jī)的內(nèi)核提供支持。
- 容器使用宿主機(jī)的內(nèi)核,因此容器啟動(dòng)時(shí)不需要額外加載自己的
什么是 rootfs?
rootfs
(Root File System)是容器的根文件系統(tǒng),包含操作系統(tǒng)運(yùn)行所需的基本目錄結(jié)構(gòu)和工具,例如 /bin
、/lib
、/etc
等。
- 功能:
- 提供容器運(yùn)行的環(huán)境,包括系統(tǒng)庫、應(yīng)用程序、配置文件等。相當(dāng)于操作系統(tǒng)的根目錄。
- 在容器中的表現(xiàn):
- 容器的
rootfs
通常是一個(gè)精簡版的文件系統(tǒng)。 - 容器共享宿主機(jī)內(nèi)核,因此不需要提供完整的操作系統(tǒng),只需要提供運(yùn)行應(yīng)用程序的最小化環(huán)境。
- 容器的
- rootfs 的來源:
- 可以是完整的操作系統(tǒng)鏡像(如 Ubuntu、CentOS)。
- 可以是精簡的文件系統(tǒng)(如 Alpine Linux,只包含基礎(chǔ)工具和庫)。
容器文件系統(tǒng)的關(guān)系
傳統(tǒng)操作系統(tǒng):
- 啟動(dòng)時(shí),
bootfs
負(fù)責(zé)加載內(nèi)核,隨后切換到rootfs
,為用戶提供完整的操作系統(tǒng)環(huán)境。
容器:
- 容器的啟動(dòng)過程依賴于宿主機(jī)內(nèi)核,因此沒有獨(dú)立的
bootfs
。 - 容器只需要
rootfs
提供用戶空間所需的文件和依賴。
容器文件系統(tǒng)的特點(diǎn)
分層文件系統(tǒng): 容器的文件系統(tǒng)使用分層存儲(chǔ),如 OverlayFS、AUFS 等。
- 鏡像層(read-only): 提供基礎(chǔ)文件系統(tǒng)(通常是
rootfs
)。 - 容器層(read-write): 容器啟動(dòng)時(shí)在鏡像層上添加一個(gè)讀寫層,存儲(chǔ)運(yùn)行時(shí)的更改。
輕量化:
- 容器的
rootfs
只包含運(yùn)行所需的最小組件,減少資源占用。
通過以上概述,這回你就明白了為什么你在容器中看到的內(nèi)核版本與宿主機(jī)是一樣的,盡管發(fā)行版本不一樣,同時(shí)你也應(yīng)該明白了,為什么運(yùn)行一個(gè)容器是如此的輕量級(jí)。
到此這篇關(guān)于Docker 之 bootfs、rootfs 概述的文章就介紹到這了,更多相關(guān)Docker bootfs、rootfs內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MacOS?Docker?安裝的實(shí)現(xiàn)步驟
本文主要介紹了MacOS?Docker?安裝的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06docker容器中登陸并操作postgresql的實(shí)現(xiàn)
本文主要介紹了docker容器中登陸并操作postgresql的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-02-02使用docker compose一鍵部署多個(gè)服務(wù)的方法
docker compose 是 docker 官方的開源項(xiàng)目,用來實(shí)現(xiàn)對 docker 容器集群的快速編排,通過docker-compose可以一鍵創(chuàng)建和刪除多個(gè)容器 ,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2024-01-01docker可視化管理工具portainer忘記密碼重置教程的實(shí)現(xiàn)
本文主要介紹了docker可視化管理工具portainer忘記密碼重置教程的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08docker鏡像與傳統(tǒng)vm虛擬機(jī)區(qū)別及分析
這篇文章主要是內(nèi)容分享系列,為大家用大白話通俗的講解docker鏡像與傳統(tǒng)vm虛擬機(jī)區(qū)別以及分析,有需要的朋友可以借鑒參考想,希望能夠有所幫助2022-03-03docker中的link和network網(wǎng)絡(luò)互連問題
這篇文章主要介紹了docker中的link和network網(wǎng)絡(luò)互連問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Spring Boot使用Docker分層打包的設(shè)置方法
Spring Boot 現(xiàn)在支持分層打包技術(shù)了, 我們也來用一用, 加速Docker打包, 構(gòu)建的時(shí)候速度也會(huì)非???本文重點(diǎn)給大家介紹Spring Boot使用Docker分層打包的設(shè)置方法,感興趣的朋友一起看看吧2021-08-08centos7搭建docker私人倉庫的方法(kubernetes)
這篇文章主要介紹了centos7搭建docker私人倉庫的方法(kubernetes),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03