共计 684 个字符,预计需要花费 2 分钟才能阅读完成。
本篇内容主要讲解“Create 与 Run Container 怎么区分”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“Create 与 Run Container 怎么区分”吧!
you should make sence these points:
runC create command 和 run command 的流程入口统一从 /runc/utils_linux.go#334 main.startContainer 方法,通过 create flag 进行区分。
业务逻辑中,主要有两个 step 构成:
firstly create container filesystem and construct a linuxcontainer object by creatContainer function.
secondly start process in container by runner.run function.
主要的逻辑在 process 的启动过程,注意以下几点:
对于 namespace 的隔离,主要通过 bootstrapData 封装好 clone flags。
由 sendconfig 将 bootstrapData 封装的 config 传给容器起的 init process。
调用系统 setns 进行 namespace 和 process 的 associate。
oom_score_adj and rlimits 等都在这里完成设置。
到此,相信大家对“Create 与 Run Container 怎么区分”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!