BM: Baca dalam Bahasa Melayu
World D6: Under the Hood
Why Mac and Windows need a Linux VM
You will learn: why Docker Desktop runs a small Linux VM, and what that changes for you.
Checked with Docker Engine 29 on 31 Oct 2026
The problem
Aina runs nginx in Docker Desktop on her Mac. She types ps aux on the Mac. nginx is not in the list! Why?
Pick one answer.
Watch
Containers borrow a Linux kernel, and macOS has a different one. So Docker Desktop starts a small Linux VM (Docker Desktop): The small Linux computer Docker Desktop runs on a Mac or PC, because containers need a Linux kernel.. The engine lives there.
Try it
Where does the container’s process really run? Sort each setup.
Drag a card into a box. Or tap the card, then tap the box.
Predict
Your Mac has 16 GB. Docker Desktop’s VM is set to 4 GB. A container wants 6 GB. What happens?
Pick one answer.
Check
Your laptop~
- Laptop port 8080 → web port 80
Lunchboxes (containers)
- webrunning
Frozen packs (images)
- nginx:1.30-alpine8 layers · 93.5MB · in use
1 containers (1 running), 1 images, 0 lockers.
This practice laptop runs Linux, so both OS/Arch lines say linux. On a Mac, the Client line says darwin. The Server line still says linux.
Check
Put a Mac’s docker run -p 8080:80 in order, first at the top.
First step at the top. Put these in order. Use the arrows, or drag.
- You type docker run in the Mac terminal
- Docker Desktop passes localhost:8080 from the Mac to the box
- The docker command sends the order into the VM
- nginx runs as a Linux process in the VM
- dockerd in the Linux VM takes it
- containerd and runc start the box
You did it!
You can now explain why Docker Desktop needs a Linux VM.
Go deeper (optional)
Where the story breaks, for all of Part 1: a real lunchbox has walls. A container has blinkers and portions on one shared stove. A kernel bug can reach every box at once. And meal packs are copied, but image layers are shared, never copied.
Real rep (optional): peek at the hidden kitchen.
Real mission
docker versiondocker info
0 of 2 steps done · Your ticks are saved.
Bahasa Melayu
Aina jalankan nginx dalam Docker Desktop pada Mac. Dia taip ps aux pada Mac itu. nginx tiada dalam senarai! Kenapa?
Container pinjam kernel Linux, dan macOS ada kernel lain. Jadi Docker Desktop mulakan Linux VM (mesin maya Linux) yang kecil. Enjin tinggal di situ.
Di mana proses container sebenarnya berjalan? Susun setiap susunan.
Mac anda ada 16 GB. VM Docker Desktop ditetapkan 4 GB. Satu container mahu 6 GB. Apa jadi?
Laptop latihan ini guna Linux, jadi kedua-dua baris OS/Arch tulis linux. Pada Mac, baris Client tulis darwin. Baris Server tetap tulis linux.
Susun docker run -p 8080:80 pada Mac, yang pertama di atas.
Kini anda boleh terangkan kenapa Docker Desktop perlukan VM Linux.
You finished this before. Practice is always welcome!
Official docs: Docker Desktop: Virtual Machine Manager · Docker Desktop: WSL 2 backend · Docker Desktop on Linux · docker version
You've learned for 25 minutes. A short break helps your brain.
Sprint done! Great focus. Stretch for a minute?