容器的进程与namespace、rootfs
一:容器是什么 容器的本质是一种特殊的进程。 在linux容器中有三个重要的概念:Namespace、Cgroups、rootfs。Namespace做隔离,让进程只能看到Namespace中的世界;Cgroups 做限制,让这个“世界”围着一个看不见的墙。rootfs 做文件系统,rootfs 只是一个操作系统所包含的文件、配置和目录,并不包括操作系统内核。 二:Namespace是什么 进入容器后,ps命令看到的容器的应用进程都是1号进程,这个其实是pid namespace导致,他其实就是个障眼法, 让你看到的是类似于一个新的虚拟机新环境,其实是不一样的,容器就是一个运行的进程,而容器中的其他进程则是pid为1的子进程。 除了刚刚pid namespace,还有其它的namespace如下: 容器是怎么新建namespace的? docker创建容器,其实就是linux系统的一次fork的调用, 在进行fork调用时,会传入一些flag参数,这个参数可以控制对linux内核调用新的namespace。 三:rootfs 挂载在容器根目录上、用来为容器进程提供隔离后执行环境的文件系...

