LXC(Linux Containers)是什麼?

LXC 於 2008 年首次引入,從其之前的 Solaris Containers(或 Solaris Zones)和 FreeBSD jail 中採用了其大部分功能。

LXC 無需創建完整的虛擬機,而是可以通過自己的進程和網絡空間來實現虛擬環境。

通過使用命名空間來強制執行進程隔離,並利用內核本身的控制組(cgroup)功能,該功能可以限制,說明和隔離一個或多個進程的 CPU,內存,磁盤 I / O 和網絡使用情況。將此用戶空間框架視爲的一種非常高級的形式 chroot。

注意:LXC 使用 Namespace(名稱空間) 來實現進程隔離,同時使用內核自己的 cgroup 來解決並限制一個或多個進程中的 CPU,內存,磁盤 I / O 和網絡使用情況。

但是容器到底是什麼?

簡短的答案是,容器使軟件應用程序與操作系統脫鉤,從而爲用戶提供了一個乾淨而最小的 Linux 環境,同時在一個或多個隔離的 “容器” 中運行其他所有內容。容器的目的是啓動一組有限的應用程序或服務(通常稱爲微服務),並使它們在獨立的沙盒環境中運行。

這種隔離可防止在給定容器中運行的進程監視或影響在另一個容器中運行的進程。同樣,這些容器化服務不會影響或干擾主機。能夠將分散在多個物理服務器上的許多服務整合爲一個的想法是數據中心選擇採用該技術的衆多原因之一。

容器功能包括:

Docker 主要致力於:

從根本上說,Docker 和 LXC 都非常相似。它們都是用戶空間和輕量級虛擬化平臺,它們實現 cgroup 和名稱空間來管理資源隔離。但是,兩者之間存在許多明顯的差異。

LXC 與 Docker 比較:

CJeP4w

總結:

LXC 提供了 Linux 上 VE 的優勢,主要是能夠將您自己的私有工作負載相互隔離。與 VM 相比,它是一種更便宜、更快速的解決方案,但這樣做需要一些額外的學習和專業知識。

Docker 是對 LXC 能力的重大改進。它的明顯優勢是因爲它足夠簡單學習成本低並不依賴操作系統。

引用:

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/flZeQi8lFnCZqRc8-Ls-tw