系统相关
首页 > 系统相关> > Docker实现进程隔离的方式

Docker实现进程隔离的方式

作者:互联网

前言

Docker其实并没有实现什么新的技术,而是在Linux的系统调用之上做了封装,达到了非常好的用户体验,让人们感觉好像是跑的一个虚拟机一样。


Docker通过Linux的namespace机制实现进程隔离

对比虚拟机技术在同一个宿主机上建立多个操作系统实现的彻底的进程隔离,这样的实现方式要跑多个操作系统,带来了非常大的资源开销。而Docker容器技术则是通过一系列的namespace实现进程隔离,这是一种内核级别隔离系统资源的方法。

namespace隔离类型:

Linux的namespace详细参见:浅谈Linux Namespace机制


效果演示

Docker是通过clone()接口在创建新进程的同时创建namespace。

int clone(int (*child_func)(void *), void *child_stack, int flags, void *arg);

我们在宿主机上使用ps aux查询该操作系统中所有的进程,可以发现有这么多
在这里插入图片描述
创建一个容器并进入到容器内部,同样执行ps aux,发现就两个
在这里插入图片描述

标签:IPC,隔离,namespace,PID,进程,Docker,节点
来源: https://blog.csdn.net/qq_38003038/article/details/122814031