什么是 LXC?

更新于 2026-01-04

LXC(Linux Containers,Linux 容器)是 Linux 内核容器化功能的用户空间接口。通过强大的 API 和简单的工具,它使 Linux 用户能够轻松创建和管理系统级或应用级容器。

特性

当前版本的 LXC 利用以下内核特性来实现进程隔离:

  • 内核命名空间(Kernel namespaces):包括 IPC、UTS、Mount、PID、Network 和 User 命名空间
  • AppArmor 与 SELinux 安全配置文件
  • Seccomp 策略
  • Chroot 环境(通过 pivot_root 实现)
  • 内核能力(Kernel capabilities)
  • 控制组(CGroups, Control Groups)

LXC 容器通常被认为是介于 chroot完整虚拟机 之间的一种轻量级虚拟化技术。LXC 的目标是创建一个尽可能接近标准 Linux 安装的环境,但无需运行独立的内核。

组件

目前,LXC 由以下几个独立组件构成:

  • liblxc 库:核心库,提供容器管理功能
  • 多种语言的 API 绑定
    • Python 3
    • Lua
    • Go
    • Ruby
    • Haskell
  • 一组标准工具:用于控制和管理容器
  • 发行版容器模板:用于快速创建基于不同 Linux 发行版的容器

许可证

LXC 是自由软件,其大部分代码采用 GNU LGPLv2.1+ 许可证发布。
部分用于 Android 兼容性的代码采用标准的 二条款 BSD 许可证
而某些二进制程序和模板则采用 GNU GPLv2 许可证。

该项目的默认许可证为 GNU LGPLv2.1+

支持

LXC 稳定版本的支持主要依赖于各 Linux 发行版及其对推送稳定修复和安全更新的承诺。

根据各发行版的实际需求和可用资源,特定版本的 LXC 可获得长期支持(LTS),并定期接收错误修复更新。

其他版本通常以“尽力而为”(best effort)的方式维护,一般意味着维护周期持续到下一个稳定版本发布为止。