共計 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 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!