在Docker和Host之间处理任务结构
在Docker和主机进程中,进程任务结构是不同的,除了主机之外,任何特定的模块在Docker中都是不同的?
由于处理在内核中被称为“ task_struct
”的结构,所以该结构在容器中是相同的。
容器是基于对主机内核的系统调用 ,并且任何与内核相关的结构都直接来自内核。
请参阅“ 架构容器:为什么了解用户空间与内核空间有关 ”
一个典型的程序通过类似于下图的抽象层访问内核中的资源:
内核提供了安全性,硬件和内部数据结构的抽象。 open()系统调用通常用于获取文件句柄
注意在下面的图中,
bash
使getpid()
调用请求自己的进程标识。
另外请注意,cat
命令请求通过文件open()
调用访问/etc/hosts
。