Developer building own container runtime details quirks in Docker's design
A developer writing a personal container runtime project shared findings about how Docker actually works under the hood. They note that containers are not a distinct Linux feature but a combination of namespaces, cgroups and networking tricks, that container images are simply folders used with chroot or pivot_root, and that Docker's runc runtime (written in Go) needs workarounds because Go lacks fork and runs multi-threaded by default.