我对 docker/containers 相当陌生,并且试图通过查看代码来更好地理解它。
看看 runC,它看起来就像旧代码库中的 nsinit 一样使用 libcontainer,我试图以此为起点来了解如何使用 libcontainer,并更深入地了解 libcontainer 的工作原理。
我发现有点难以理解的一件事是引导过程和对 nsexec 的 C 代码的调用。
我确实广泛理解,在调用应用程序(runC/libcontainer)可以将控制权交给容器进程之前,需要对命名空间等进行一些初始化,但我似乎无法找到一个好的逐步解释。有谁知道这方面的任何好的文档?
我是否正确假设作为此引导过程的一部分,C 代码将使用“init”cmd 行标志回调到 runC 的(克隆/子级)?