容器运行时在docker中的何处执行?

容器运行时在docker中的何处执行?,docker,Docker,我是Docker的新手,最近读了一本关于Docker的书。在这一点上,containerd使用runc来创建和运行容器,并且runc是容器运行时。在我了解shim之前一切都很好。创建容器后,runc退出并将容器交给shim。这让我感到困惑。如果runc是容器运行的地方,那么它如何在创建容器后退出 这个问题经过深思熟虑。 我可以得到答案 Containerd实际上并不创建容器运行时。它设置环境,然后调用containerd shim,通过配置的OCI运行时(由containerd“-runtim

我是Docker的新手,最近读了一本关于Docker的书。在这一点上,containerd使用runc来创建和运行容器,并且runc是容器运行时。在我了解shim之前一切都很好。创建容器后,runc退出并将容器交给shim。这让我感到困惑。如果runc是容器运行的地方,那么它如何在创建容器后退出

这个问题经过深思熟虑。
我可以得到答案

Containerd实际上并不创建容器运行时。它设置环境,然后调用containerd shim,通过配置的OCI运行时(由containerd“-runtime”选项控制)启动容器运行时。对于大多数现代系统,容器运行时是基于runc的


希望这有帮助。让我知道。

这说明了一些问题。参考