barco是一个我努力的项目,旨在根据Internet上的其他指南了解有关Linux容器和Linux内核的更多信息。该项目的目的是使用低级构造来创建和启动一个在C中的容器。
在github上查看项目!
lucavallin / barco
Linux容器在C中从头开始。
barco
barco
是一个我从事的项目,以了解有关Linux容器和Linux内核的更多信息,该项目基于Internet上的其他指南
Linux容器由一组Linux内核功能组成:
-
namespaces
:用于将内核对象分为不同的集合,这些集合可以通过特定的过程树访问。例如,namespaces
的类型不同,例如,PID
名称空间用于隔离过程树,而network
命名空间用于隔离网络堆栈。 -
seccomp
:用于限制过程可以进行的系统调用(通过Syscalls处理) -
capabilities
:用于设置UID 0(root)可以做的(通过syscalls处理) 的限制
-
cgroups
:用于限制一个过程可以使用的资源(例如内存,磁盘i/o,cpu-tme)(通过cgroupfs处理)
用法
barco
可用于从