Linux容器 - LXC简介
什么是LXC
LXC是在Linux内核容器特征的一个用户空间接口。通过强大的API和简单的工具,他使得Linux用户很简单的创建并且管理系统或应用容器。
特征
当前的LXC使用下面的内核特征来包含进程:
- 内核命名空间(Kernel namespace
- (ipc,uts,mount,pid,network和user)
- Apparmor和SELinux属性
- Seccomp策略
- Chroots
- 内核功能
- CGroups(控制组)
LXC容易通常被看做是位于chroot和一个完全虚拟机中间的程序。LXC的目标是创建一个尽可能接近标准Linux安装版的环境,但是不需要单独的内核。
组件
LXC现在是由几个分离的组件组成的。
- liblxc库
- 几个用于API的语言绑定:
- python3(in-tree, long term support in 2.0.x)
- lua (in tree, long term support in 2.0.x)
- Go
- ruby
- python2
- Haskell
- 一套控制容器的标准工具
- 发行的容器模板
许可
LXC是自由软件,大多数代码是基于GNU LGPLv2.1+许可发布的,一些Android兼容位是基于standard 2-clause BSD许可发布的,一些二进制和模板是基于GNU GPLv2许可发布的。这个项目默认的许可是GNU LGPLv2.1+。
支持
LXC的稳定版的发布支持依赖于Linux的发行版,以及他们自己致力于推动稳定的修复和安全更新。
基于来自各个发行版的需求和各种资源,LXC的特定版本将会享受长期的修复bug的支持。
其他版本通常会在尽最大努力的基础上进行维护,这通常意味着直到下一个稳定版本发布。
在Ubuntu LTS发行版上LXC的商业支持可以从Cannocial Ltd获取。
扩展支持
LXC 2.0 和 LXC 3.0是长期支持的发行版。 - LXC 2.0将会被支持到2021年6月1日,- LXC 3.0 将会支持到2023年6月1日。