掛載在容器根目錄上、用來為容器進程提供隔離后執行環境的文件系統,就是所謂的“容器鏡像”;
它還有一個更為專業的名稱:rootfs (根文件系統)。
所以,一個最常見的rootfs,或者說容器鏡像,會包括如下所示的一些目錄和文件,比如/bin /etc/ proc等等:
[root@node01 test]# docker run -it busybox /bin/sh / # ls / bin dev etc home proc root sys tmp usr var
而你進入容器之后執行的/bin/sh,就是/bin目錄下的可執行文件,跟宿主機的/bin/sh安全不同。
現在你應該可以理解,對Docker項目來說,它最核心的管理實際上是為待創建的用戶進程:
1、啟用Linux NameSpace隔離配置;
2、設置指定的Cgroup限制參數;
3、切換進程的根目錄(Change Root)
這樣一個完整的容器就誕生了。另外需要明確的是rootfs只是一個操作系統所包含的文件、配置和目錄,
並不包括操作系統的內核(bootfs包含了BootLoader和Kernel), 在Linux操作系統中,這兩部分是分開存放的,操作系統只有在開機啟動
時才會加載指定版本的內核。
所以說,rootfs 只包括了操作系統的“軀殼”,並沒有包括操作系統的“靈魂”。