Lesson 02 — Container: Namespace, cgroup & OverlayFS

Tương tác: so sánh kiến trúc container vs VM, demo namespace (PID, network, mount, UTS), điều chỉnh slider cgroup CPU/memory và xem trạng thái throttle/OOM, mô phỏng OverlayFS với Copy-on-Write.

1. Container vs VM — Kiến trúc so sánh

Click vào từng lớp để xem giải thích. So sánh điểm khác nhau giữa hai kiến trúc.

Container (Docker/OCI)
App A (Nginx)
Libs / Runtime (glibc, node...)
App B (Python service)
Libs / Runtime
Namespace (PID, net, mnt...)
cgroup (CPU, memory limit)
Linux Kernel host (dùng chung)
Phần cứng vật lý
Máy ảo (VM)
App A (Nginx)
Guest OS + Kernel A (Linux)
App B (Windows IIS)
Guest OS + Kernel B (Windows)
Hypervisor (KVM / ESXi)
Host OS / Bare-metal
Phần cứng vật lý
Click vào một lớp để xem giải thích chi tiết.
Tiêu chíContainerMáy ảo
KernelDùng chung host kernelKernel riêng mỗi VM
Khởi động~50–200ms30–120 giây
RAM footprint5–50 MB / container512 MB – 2 GB / VM
Cô lậpTrung bình (share kernel)Mạnh (hypervisor)
Chạy OS khácKhông (chỉ Linux nếu host Linux)Có (bất kỳ OS)
Overhead~1–5%~5–20%
Dùng choMicroservice, CI/CD, scaleCô lập mạnh, OS khác, legacy

2. Namespace — Cô lập View

Host — PID thật
Container — PID ảo (namespace)

3. cgroup — Giới hạn Tài nguyên

Kéo slider để thay đổi tải CPU và memory của container. Quan sát khi đạt giới hạn cgroup.

2.0 core
0.8 core
512 MB
200 MB
CPU Usage
0%
OK
Memory Usage
0%
OK
Điều chỉnh slider để xem cgroup hoạt động.

4. OverlayFS — Copy-on-Write

Chọn hành động để mô phỏng OverlayFS. 2 container (C1, C2) cùng dùng chung image layers.

-- Chọn hành động để bắt đầu --