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

Container

কনটেইনার

Host kernel-এর ওপর namespace (visibility সীমিত করে) আর cgroup (resource ব্যবহার সীমিত করে) দিয়ে বিচ্ছিন্ন করা একটা সাধারণ process-গ্রুপ — নিজস্ব কোনো kernel চালায় না, VM-এর মতো hardware-ও virtualize করে না।

also: docker container, OCI container, linux container

container = host kernel-এর একটা process
          + namespace সেট      (কী দেখতে পায়)
          + cgroup সদস্যপদ     (কতটুকু ব্যবহার করতে পারে)
          + কোনো নতুন kernel না — host kernel-ই একমাত্র kernel
  • VM-এর মতো “হালকা” সংস্করণ না — সম্পূর্ণ ভিন্ন isolation স্থাপত্য, hardware না বরং OS virtualize করে
  • Attack surface পুরো host kernel-এর syscall table — container escape মূলত একটা kernel-privilege bug
  • Startup milliseconds-স্কেলে, কারণ কোনো দ্বিতীয় kernel বুট করতে হয় না — শুধু clone()
  • kernel-এ struct container বলে কিছু নেই — task_struct-এর nsproxy/cgroups pointer-ই যথেষ্ট