LXC容器运行时
1 LXC项目介绍
LXC是在crgoup被引入Linux内核后立即被创建的项目,它被设计用于"full-system" 容器,是用来创建Linux容器的,此时的Linux容器跟我们现在常用的Linux上Docker容器或containerd容器是有区别的,最显著的区别在于它们使用不是容器运行时不同。同时Systemd也获得了类似的容器支持,systemd-nspawn可以运行命名空间进程,systemd本身可以控制cgroup。尽管lxc与systemd-nspawn也在其他项目中被利用到了,但它们还是没有能够吸引足够多的终端用户。现在并不是一个流行的开源容器化项目。
2 LXC容器运行时介绍
LXC 是一个早期知名的Linux 容器运行时,主要由C语言实现。官网参考 https://linuxcontainers.org/lxc/introduction/ 。


OCI(Open Container Initiative)规范主要定义了容器运行时的标准,包括容器的镜像格式、容器的生命周期管理(如创建、启动、停止、删除)、配置管理(如挂载点、环境变量等)以及资源管理(如CPU、内存分配)等多个方面。符合 OCI 规范的容器运行时可以更好地与其他符合该规范的工具和平台进行交互和协作。
LXC 并不完全符合OCI 规范。LXC 有自己独立的一套容器创建和管理机制,它主要是利用Linux 内核的 cgroups 和 namespaces 特性来实现容器的隔离和资源管理。
尽管 LXC 本身不符合OCI 规范,但在某些场景下可以实现一定程度的兼容。例如,可以通过一些中间层工具或者适配层来使 LXC 容器与基于 OCI 规范的生态系统进行交互。不过,这种方式相对复杂,并且可能会损失一些LXC 本身的特性或者引入额外的开销,笔者未做探讨研究,此文不涉及。
3 安装LXC
软硬件要求
支持多种构架如amd64、arm64、riscv64、armhf等
要使用 lxc-attach及非特权容器,就必须满足以下条件:
- Linux kernel >= 3.12
- 至少有glibc, musl libc, uclib or bionic 其中一个作为操作系统的 C library
其余推荐的信赖库:
- libcap (to allow for capability drops)
- libapparmor (to set a different apparmor profile for the container)
- libselinux (to set a different selinux context for the container)
- libseccomp (to set a seccomp policy for the container)
- libgnutls (for various checksumming)
- liblua (for the LUA binding)
- python3-dev (for the python3 binding)
安装步骤
1 |
|
4 简单使用LXC
命令行形式
1 |
|

1 |
|
其他关于命令行对lxc容器进行操作的说明,参见官方文档:https://linuxcontainers.org/lxc/getting-started/
API调用形式
从官网看到的内容,目前支持C语言与Python语言通过API形式对lxc容器相关操作。具体参见:https://linuxcontainers.org/lxc/documentation/
5 LXC其他资源介绍
1)lxc容器当前虽然并不是很火,但其一直在迭代,其所有版本信息及下载:https://linuxcontainers.org/lxc/downloads/
2)lxc项目对应代开源代码仓库地址:https://github.com/lxc/lxc
3)lxc相关指令的manpage:https://linuxcontainers.org/lxc/manpages
4)lxc容器安全机制介绍:https://linuxcontainers.org/lxc/security
6 备注与参考文章
订阅号文章不方便更新,如后续有修改或完善,将更新到个人博客,博客地址参考文首。技术操作类文章推荐直接访问个人博客查阅,阅读效果更佳。
某些观点或阐述,笔者水平有限无法给出正式严谨的答案,唯有引用或参考企业单位的官网与其他前辈的描述。本文某些内容来自以下文章:**
- lxc官网:https://linuxcontainers.org/lxc
- PolarSPARC文章:https://www.polarsparc.com/xhtml/LXC.html
- csdn博客:https://blog.csdn.net/qq_44281591/article/details/132251767