作業系統層虛擬化
一些作業系統核心提供的建立隔離軟體執行環境的方法 / 維基百科,自由的 encyclopedia
作業系統層虛擬化(英語:Operating system–level virtualization),亦稱容器化(英語:Containerization),是一種虛擬化技術,這種技術將作業系統核心虛擬化,可以允許使用者空間軟體實體(instances)被分割成幾個獨立的單元,在核心中運行,而不是只有一個單一實體運行。
這個軟體實體,也被稱為是一個容器(containers),虛擬引擎(Virtualization engine),虛擬專用伺服器(virtual private servers)或是 jails。對每個執行程式的擁有者與使用者來說,他們使用的伺服器程式,看起來就像是自己專用的。
作業系統層虛擬化之後,可以實現軟體的即時遷移(Live migration),使一個軟體容器中的實體,即時移動到另一個作業系統下,再重新執行起來。但是在這種技術下,軟體即時遷移,只能在同樣的作業系統下進行。
在類Unix作業系統中,這個技術最早起源於標準的chroot機制,再進一步演化而成。除了將軟體獨立化的機制之外,核心通常也提供資源管理功能,使得單一軟體容器在運作時,對於其他軟體容器的造成的互動影響最小化。
相對於傳統的虛擬化(Virtualization),容器化的優勢在於佔用伺服器空間少,通常幾秒內即可啟動。同時容器的彈性可以在資源需求增加時瞬時複製增容,在資源需求減小時釋放空間以供其他使用者使用。由於在同一台伺服器上的容器實體共享同一個系統核心,因此在運行上不會存在實體與主機操作系統爭奪RAM的問題發生,從而能夠保證實體的效能。[1]