針對一個服務或軟體的宿主而言,伺服器、VM和Container的分別如下:
對伺服器來說,活著,就是電源打開,記憶體載入作業系統或軟體,並且開始消耗CPU,記憶體等系統資源的的電腦,沒有開機的電腦就是死的電腦。
對虛擬化平台來說,活著的VM,就是一個被Hypervisor分配到資源(CPU,記憶體),並且開始真正消耗實體伺服器資源的VM,,因為VM本身並沒有所謂真正的開機關機,一個沒有消耗實體機器資源的VM,就是死的VM。
對Container來說,沒有執行docker run/create
之前,Container根本不存在,更沒有所謂活著或死掉的問題。執行docker run/create
之後,Container才會誕生,開始消耗系統資源(由Linux核心提供),就是活著。執行完畢的Container,就是死的Container,但是並沒有消失,還是存在的。要執行docker rm <container>
指令後,Container才會消失。
有關Container的存在,死活問題,我們會在本章稍後說明。