DEV Community

Cloudmash
Cloudmash

Posted on

Docker containers are just Linux -- here's why that matters

Most people talk about Docker as if it’s some kind of magical technology.

It isn’t.

A Docker container is not a VM, not a runtime, and not an abstraction invented by Docker.

It’s simply Linux doing what Linux has always done, process isolation.

What people usually get wrong

When developers say:

“Docker runs applications in containers”

What they really mean is:

Linux isolates processes using namespaces

Linux limits resources using cgroups

Docker just provides a convenient interface on top of these primitives

There is no container living inside the kernel.

There are only:

processes

PID namespaces

network namespaces

filesystem isolation

resource limits

That’s it.

Why understanding this actually matters

If you think containers are “magic”, you’ll struggle with:

debugging production issues

understanding Kubernetes behavior

networking problems inside pods

memory & CPU limits not behaving as expected

Once you understand that a container is just a Linux process, things suddenly make sense.

Short visual explanation

I made a short video explaining this visually, no buzzwords, no marketing terms.

Watch here:
https://www.youtube.com/watch?v=l7BjhysbXf8

TL;DR

Containers ≠ Docker

Containers ≠ Virtual Machines

Containers = Linux processes with isolation

If this sounds obvious to you — great.
If it doesn’t — this mental model will save you months of hassle with kubernetes production issues.

Top comments (0)