LXC

LXC，其名稱來自Linux軟體容器（Linux Containers）的縮寫，一種作業系統層虛擬化（Operating system–level virtualization）技術，為Linux内核容器功能的一个用户空间接口。它將應用軟體系統打包成一個軟體容器（Container），內含應用軟體本身的程式碼，以及所需要的作業系統核心和函式庫。透過統一的命名空間和共用API來分配不同軟體容器的可用硬體資源，創造出應用程式的獨立沙箱執行環境，使得Linux用户可以容易的创建和管理系统或应用容器。

在Linux內核中，提供了cgroups功能，來達成資源的區隔化。它同時也提供了名稱空間區隔化的功能，使應用程式看到的作業系統環境被區隔成獨立區間，包括行程樹，網路，使用者id，以及掛載的檔案系統。但是cgroups並不一定需要啟動任何虛擬機器。 

LXC利用cgroups與名稱空間的功能，提供應用軟體一個獨立的作業系統環境。LXC不需要Hypervisor這個軟體層，軟體容器（Container）本身極為輕量化，提升了建立虛擬機器的速度。軟體Docker被用來管理LXC的環境。

特点
目前的LXC使用下列内核功能来控制进程：
 内核命名空间（进程间通信、uts、mount、pid、network和user）
 AppArmor和SELinux配置
 Seccomp策略
 chroot（使用pivot_root）
 Kernel Capabilities
 cgroups

因此，LXC通常被认为介于“加强版”的chroot和完全成熟的虚拟机之间的技术。LXC的目标是建立一个尽可能与标准安装的Linux相同但又不需要分离内核的环境。

 使用 
 Proxmox VE: 它直到4.0版才使用LXC技術，在此之前的版本都是使用OpenVZ技術。

 Docker：它在0.9版之前都是使用LXC技術，但在0.9版之後，已不再是唯一且預設的執行環境。

参看

 DevOps
 作業系統層虛擬化

参考文献

外部連結


Category:Linux内核功能
Category:Linux容器化