Live data from Hacker News

Docker's Dirty Little Secret

blog.altometrics.com

11–14 of 14 posts

Re: Docker's Dirty Little Secret

#11
post #3

There's nothing dirty or secret about this. The whole point of docker is to be lighter weight than VM, because you're sharing a kernel with the host. It's no surprise, then, that you can't run a container with an OS using a different kernel from the host.

I agree. It's more along the lines of:

Terms and Conditions apply. Not available in all markets. Your mileage may very. Discount may not be combined with other offers. Limit five per customer. Participating stores only.

It's an amazing technology. It's a useful technology. It's still brittle and complicated and not a silver bullet. The impedance mismatch between the level of technical knowledge required to understand containers and their implementation and the availability and promotion of Docker as "just another app" will invariably create these problems.

Docker, the company, promotes Docker the product as easy to use. That's true for some definitions of "easy". It is true for fewer as Docker the product captures more mainstream users. To put it another way, the point of Docker, the product, is to be lighter weight than a VM. The complexities of sharing a kernel are implementation details. Ideally users would not encounter them unexpectedly. In fairness to Docker, the company, assuming comfort with technical complexity among BSD users is not a long reach.

Re: Docker's Dirty Little Secret

#12
post #9
post #6

Earlier quoted context omitted.

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. […

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.

Re: Docker's Dirty Little Secret

#13
post #6

Earlier quoted context omitted.

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. […

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…

> 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...

Re: Docker's Dirty Little Secret

#14
post #13

Earlier quoted context omitted.

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…

> 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.
Post reply on HN