Comment by musicale

6 months ago

We can thank the linux kernel developers for implementing namespaces and overlayfs.

And we can thank predecessor systems like BSD jails, Solaris zones, as well as Virtuozzo/openVZ and lxc as previous container systems on linux.

Docker's main improvements over lxc, as I understand it, were adding a layered, immutable image format (vs. repurposing existing VM image formats) and a "free" public image repository.

But the userspace implementation isn't exactly rocket science, which is why we periodically see HN posts of tiny systems that can run docker images.