如果Docker和主机进程中的进程任务结构有何不同,则docker与host之间的任何特定模块都不同?
答案 0 :(得分:1)
由于处理过程在内核中由称为“task_struct
”的结构表示,因此容器中的结构相同。
容器基于 system calls 到主机内核,任何与内核相关的结构直接来自所述内核。
请参阅“Architecting Containers: Why Understanding User Space vs. Kernel Space Matters”
典型的程序通过抽象层访问内核中的资源,类似于下图:
内核为安全性,硬件和内部数据结构提供抽象。 open()系统调用通常用于获取文件句柄
请注意,在下图中
bash
进行getpid()
调用,请求自己的进程标识。
另请注意,cat
命令通过文件/etc/hosts
请求访问open()
。