:用C从头开始构建Linux容器
:用C从头开始构建Linux容器
这是作者从事的一个项目,旨在根据互联网上的其他指南了解有关 Linux 容器和 Linux 内核的更多信息。Linux 容器由一组 Linux 内核功能组成:
namespaces:用于将内核对象分组为可由特定进程树访问的不同集合。有不同的类型namespaces,例如,PID命名空间用于隔离进程树,而network命名空间用于隔离网络堆栈。
seccomp:用于限制进程可以进行的系统调用(通过系统调用处理)
capabilities: 用于设置 uid 0 (root) 可以执行的操作的限制(通过系统调用处理)
cgroups:用于限制进程可以使用的资源(例如内存、磁盘 I/O、CPU-tme)(通过 cgroupfs 处理)。
目前,该项目不包含任何自动化测试或记录代码的工具。将来,可能会添加合适的自动化测试和文档工具。