Linux

到底什麼是 Linux 容器?

  • July 26, 2017

我一直在閱讀許多關於 Linux 容器的文件。我還嘗試了CentOS 方式Ubuntu 方式

維基百科說

它是一種作業系統級別的虛擬化。

Linuxcontainers.org 說

LXC 是 Linux 核心包含特性的使用者空間介面。

我說不清楚。

  1. LXC 是否只是一個使用者界面,還有其他一些提供容器功能的核心模組。
  2. 或者 LXC 是在安裝軟體包時修補到核心的東西,它還提供使用者空間實用程序。
  3. 在 CentOS 上試用時,lxc不需要安裝包,儘管它在儲存庫中可用。
  4. 在 CentOS 上,無需安裝lxclibvirt 守護程序即可lxc:/// 使用 libvirt 命令實用程序進行連接。那麼核心中是否已經有一個 lxc 模組?但我沒有找到任何與lsmod.
  5. 但是,核心中的哪個模組提供容器化?

這是一個令人困惑的話題,因為沒有一件事可以“提供容器化”。容器是在 Linux 核心中實現的一個通用概念,它使用命名空間進行程序隔離,使用 cgroup 進行資源管理,可能還有更多——比如用於安全性的 SELinux。

這些lxc工具是一種可能的介面——您可以將其視為前端,儘管將其視為“前端加膠水”可能會更好。libvirt-lxc是一個名稱相似但完全不同的此類工具,systemd-nspawn還有另一個。

linux 容器的熱門話題 Docker也是一層使用者界面和粘合劑,但它實際上可以位於其他幾個後端之上,包括上述任何後端——請參閱這篇關於 Docker 0.9 的稍微過時的部落格文章,特別是圖形解釋庫容器

Dan Walsh 在 Usenix ‘13 上對此發表了演講,這可能會有所幫助:https ://www.usenix.org/conference/lisa13/secure-linux-containers (免責聲明:Dan 是我在 Red Hat 的同事。 )

引用自:https://serverfault.com/questions/614223