作業系統層虛擬化

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