Docker dùng các tính năng kernel Linux — namespace (cô lập), cgroup (kiểm soát tài nguyên), và union filesystem (image phân layer) — để tạo các container nhẹ. Hiểu các cơ chế bên dưới giải thích cách các container đạt được cô lập và hiệu quả.
Namespace — cô lập
NAMESPACE Linux cô lập cái mà một process có thể THẤY — cho mỗi container góc nhìn riêng:
PID namespace → cây process riêng (container chỉ thấy các process của nó)
NET namespace → các interface network, IP, cổng riêng
MNT namespace → các mount hệ thống tệp riêng
UTS namespace → hostname riêng
IPC, USER namespace → IPC cô lập, ánh xạ user/group ID
→ Namespace là LÝ DO một container cảm thấy như một máy riêng biệt (góc nhìn cô lập),
trong khi thực tế chia sẻ kernel của host.
