容器技术的三大核心技术
1. 名称空间(namespace):是容器的核心技术,把一台机器要用到的相关资源都隔离在一个小空间内过去实现隔离用的是虚拟机,现在实现隔离用的是容器
隔离了什么?
虚拟机隔离了什么 容器自然也就隔离了什么,如:CPU,内存,硬盘,网络,主机名,PID等
容器实现隔离的技术称之为名称空间
2. Cgroup:限制容器对资源的占用
可压缩资源:CPU、网络
不可压缩资源:内存
如果容器超出分配的资源,将会触发容器级别的OOM,杀掉进程
3. 联合文件系统:容器内操作系统的由来
容器内的操作系统源自于操作系统镜像
一个完整操作系统镜像由两部分组成
bootfs:引导信息、内核
rootfs:一套文件系统
不同的Linux发行版,bootfs基本都一样,有区别的是rootfs
虚拟机中安装的是完整的操作系统而容器内操作系统的镜像只有rootfs,
没有bootfs
即同一台宿主机上运行的多个容器都没有内核,他们的内核共享宿主机的