docker是基于LXC的高級容器引擎;LXC是“Linux Container”的簡寫,是一種內核虛擬化技術,可以提供輕量級的虛擬化,以便隔離進程和資源,而且不需要提供指令解釋機制以及全虛擬化的其他復雜性。
本教程操作環境:linux7.3系統、docker19.03版、Dell G3電腦。
docker是基于什么的引擎
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視頻教程》