docker原理
namespace:隔离。包括pid namespace、mount namespace、UTS、IPC、Network和User这些Namespace,用来对各种不同的进程上下文进行“障眼法”操作。比如,Mount Namespace,用于让被隔离进程只看到当前Namespace里的挂载点信息;Network Namespace,用于让被隔离进程看到当前Namespace里的网络设备和配置。
创建新进程时指定了这些namespace,新进程就会被限制在namespace内,只能看到指定的进程、磁盘分区、网络……
cgroups:限制。对容器可以使用的资源做限制。Cgroups给用户暴露出来的操作接口是文件系统,即它以文件和目录的方式组织在操作系统的/sys/fs/cgroup路径下。
为容器本身的设计,就是希望容器和应用能够同生命周期