深究Runc源码-4-Start启动流程分析
代码基于1.1.0
runc start是启动用户定义的进程,流程如下。

首先通过state.json,重新获取容器的状态
通过State重新构建Container实例
只能对Created状态的容器执行start,执行Container.Exec,Container.Exec调用fifoOpen打开exec.fifo,此时runc init阻塞解除继续运行,runc init通过exec.fifo会写一个字符'0',然后执行StartContainer Hooks,最后通过system.Exec调用将runc init变成用户定义进程。runc start进程通过fifo.exec读取到runc init写入后删除exec.fifo,流程结束。
开源的东西,转发不需要说明出处,就说你自己写的