1.關於容器內核機制和宿主機之間的關系
所有的容器都是公用HOST的Kernel,在容器中是沒有辦法對容器的Kernel進行升級的。
假設我創建了兩個操作系統:BusyBox,Debian
但我的HOST宿主機器的內核版本是4.4,那么我容器中的內核版本也一定是4.4版本。因為容器使用的都是宿主機的內核來進行工作的,具體可以看下面的圖。
容器鏡像內核分層結構圖:
2.關於容器鏡像的分層結構
docker中的鏡像是按照分層的結構一層一層網上疊加的。例如我創建一個tomcat的容器,那么最底層用的操作系統是centos,在基於centos系統的上層在安裝一個tomcat。就是這樣一層層的疊加。
這就是docker的鏡像分層結構:
采用這樣的方式最好的就是共享資源,假設有多個鏡像都是從相同的base鏡像構建來的,那么docker 只需要在磁盤上保持一份base鏡像,同時內存只用加載一份base鏡像,這樣一來這一份鏡像就可以為其他的鏡像服務了。