docker是基於LXC的高階容器引擎;LXC是「Linux Container」的簡寫,是一種核心虛擬化技術,可以提供輕量級的虛擬化,以便隔離進程和資源,而且不需要提供指令解釋機制以及全虛擬化的其他複雜性。
本教學操作環境:linux7.3系統、docker19.03版、Dell G3電腦。
Docker 是 PaaS 提供者dotCloud 開源的一個基於 LXC 的高級容器引擎,源代碼託管在 Github 上, 基於go語言並遵從Apache2.0協定開源。
Docker 是一個開源的應用程式容器引擎,讓開發者可以打包他們的應用程式以及依賴包到一個可移植的映像中,然後發佈到任何流行的 Linux或Windows作業系統的機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面
LXC
Linux Container容器是一種核心虛擬化技術,可以提供輕量級的虛擬化,以便隔離進程和資源。
LXC為Linux Container的簡寫。可以提供輕量級的虛擬化,以便隔離進程和資源,而且不需要提供指令解釋機制以及全虛擬化的其他複雜性。相當於C 中的NameSpace。容器有效地將由單一作業系統管理的資源劃分到孤立的群組中,以便更好地在孤立的群組之間平衡有衝突的資源使用需求。
與傳統虛擬化技術相比,它的優勢在於:
(1)與宿主機使用同一個內核,性能損耗小;
(2)不需要指令級模擬;
(3)不需要即時(Just-in-time)編譯;
(4)容器可以在CPU核心的本地運行指令,不需要任何專門的解釋機制;
(5)避免了準虛擬化和系統呼叫替換中的複雜性;
(6)輕量級隔離,在隔離的同時也提供共享機制,以實作容器與宿主機的資源共享。
總結:Linux Container是一種輕量級的虛擬化的手段。
Linux Container提供了在單一可控主機節點上支援多個相互隔離的server container同時執行的機制。 Linux Container有點像chroot,提供了一個擁有自己行程和網路空間的虛擬環境,但又有別於虛擬機,因為lxc是一種作業系統層次上的資源的虛擬化。
推薦學習:《docker影片教學》
以上是docker是基於什麼的引擎的詳細內容。更多資訊請關注PHP中文網其他相關文章!