容器底层的系统命令
Namespace: 隔离进程看到的环境
Cgroups: 限制进程使用的资源
Mount Namespace: 限制容器里进程看到的文件系统
chroot: 改变进程的根目录到指定位置; 而这个挂载在容器根目录上,用来为容器进程提供隔离后执行环境的文件系统(rootfs)
rootfs:只是一个操作系统所包含的文件、配置和目录,并不包括系统内核
重要概念
1、由于rootfs打包的不止是应用,而是整个操作系统,即应用运行的依赖都被封装到一起,这种深入到操作系统级别的运行环境一致性,打通弄过来本地开发和远端执行之间难以逾越的鸿沟
2、对于一个应用来说,操作系统本身才是它运行所需要的最完整的依赖库
3、容器有三层,只读层、init层、可读写层;对容器的改变操作都在可读写层(cow),相同文件上层会覆盖掉下层,下层一直存在,即使删除