Linux Namespaces — The Isolation Illusion

LEVEL 0

The Problem

We just learned that containers are processes. Regular processes running on the host kernel.

But here’s the puzzle: If they’re just regular processes, why can’t they see each other?

When you’re inside a container and you run ps, you only see the container’s processes. You don’t see the hundreds of other processes running on the host.

When you run ls /, you see the container’s filesystem. Not the host’s filesystem.

When you run ifconfig or ip addr, you see the container’s network interface. Not the host’s network interfaces.

How does a process, running on the host kernel, have a completely different view of the system than other processes?

This is what Linux namespaces provide.