runC源码分析——主体调用链

本文详细梳理了runC的源码调用逻辑,从main入口开始,经过runC处理阶段,包括checkpoint和container等命令,然后进入libcontainer处理阶段。runC对libcontainer进行了封装,提供了如checkpoint、create、delete、exec等不同功能的Command。每个Command的调用链清晰,涉及到libcontainer的关键接口如Checkpoint、Run、Destroy、Start等。通过对runC源码的分析,有助于更深入理解容器运行机制。
摘要由CSDN通过智能技术生成

本文将简单的对runC的源码调用主体逻辑进行梳理,为跟系统的阅读runC源码。

runC总体调用逻辑

下图中,runC源码逻辑跳转流程总体上分为三步:
main入口 ——> runC处理 ——> libcontainer处理。

runC其实就是在libcontainer的基础上进行了封装成各个Command。

runC源码主体调用逻辑

具体runC的各个Command的调用链见如下:

runC处理

checkpoint

checkpointCommand(main.go) —> checkpointCommand(checkpoint.go)

container

createCommand(main.go)—>createCommand(create.go)—>startContainer(untils_linux.go)—>run(untils_linux.go)
deleteCommand(main.go)—>deleteCommand(delete.go)—>destroy(untils_linux.go)
eventsCommand(main.go)—>eventsCommand(events.go)
execCommand

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值