Hacker News new | ask | show | jobs
by kyptin 3671 days ago
Author here. Thanks for your comment. I figured this would be obvious to some.

Question: do you know of a good resource that describes docker in these terms, such that what I wrote about isn't surprising?

The official architecture page [1] doesn't illuminate this issue. To be fair, it isn't super relevant—so long as you run Linux, OS X, or Windows. When you run alternative OS's, though, it becomes pretty important.

[1] https://docs.docker.com/engine/understanding-docker/

2 comments

On Linux, Docker uses cgroups to isolate resources. Cgroups is a feature of the Linux kernel. Cgroups are almost ten years old.

Docker on FreeBSD utilizes the Linux compatibility layer. It was introduced in 2015. It is officially experimental.

https://wiki.freebsd.org/Docker

To me, none of this is obvious and my limited understanding has taken several years and many hours of podcast listening and technical reading. I still don't know squat.

> Docker on FreeBSD utilizes the Linux compatibility layer. It was introduced in 2015. It is officially experimental.

Huh!? I remember running unmodified Linux binaries on FreeBSD (and other BSDs) in the late 90s. Maybe it was not suitable for most docker images and that started last year...

Per the link, Docker [the subject of the thread] is experimental on FreeBSD.
All OSes that are not Linux are alternative OSes. Even Windows and OS X are running docker under virtualization one way or another (docker machine or the more recent virtualization shims).
No, Docker can run Windows containers natively, although this has not been officially released quite yet it is a preview.