Foundationপ্রথম নীতি থেকে
LEVEL 12 · Virtualization, Containers & Cloud

runc

OCI Runtime Specification-এর reference implementation — একটা ছোট, one-shot CLI টুল যা config.json পড়ে namespace/cgroup/mount syscall চালিয়ে container-এর entrypoint execve() করে, তারপর নিজে প্রসেস হিসেবে আর থাকে না।

also: OCI reference runtime, runc CLI

runc create <id>   -> namespace+cgroup+mount সেটআপ, entrypoint এখনো চলেনি
runc start <id>    -> execve(entrypoint) -- runc নিজেই এখন সেই প্রসেস
runc kill/delete    -> সিগন্যাল পাঠানো / cgroup+state ফাইল পরিষ্কার করা
  • daemon না — প্রতিটা invocation একবার চলে, কাজ শেষে exit করে (বা execve()-এ নিজের process-image replace হয়ে যায়)
  • create/start আলাদা ধাপ হওয়ায় মাঝখানে higher-level tooling network namespace-এ veth attach করার সুযোগ পায় (CNI plugin-এর ভিত্তি)
  • containerd-shim runc-কে invoke করে, কিন্তু runc exit করার পরও container চলতে থাকে — persistent tracking shim-এর কাজ, runc-এর না