DevOps 22/09/2026 5 phút

Container không phải máy ảo: nó chỉ là một tiến trình bị cô lập

"Container là VM nhẹ" là hiểu lầm phổ biến nhất về Docker. Thực ra container là một tiến trình thường trên host, được cô lập bằng namespace và giới hạn bằng cgroup — dùng chung kernel host. Bài này chạy thật: alpine và ubuntu cùng thấy một kernel, tự tạo cô lập bằng unshare không cần docker (shell thành PID 1), và đo khởi động 164ms.

DevOps 22/09/2026 5 phút

cgroups: giới hạn CPU và bộ nhớ container — và vì sao vượt RAM thì bị giết, vượt CPU chỉ chậm

namespace cô lập tầm nhìn; cgroup là nửa còn lại — giới hạn tài nguyên. Bài này chạy thật: --cpus 0.25 làm cùng workload chậm đúng 4 lần, giới hạn nằm trong file /sys/fs/cgroup (memory.max, cpu.max), và container vượt --memory 32m bị kernel OOM kill thật (OOMKilled=true, exit 137). Hai kiểu vượt khác nhau: RAM bị giết, CPU chỉ throttle.