Live data from Hacker News

Why would anyone choose Docker over fat binaries?

smashcompany.com

1–10 of 180 posts

Re: Why would anyone choose Docker over fat binaries?

#3
This works for one Go or Rust executable but any real system is a mix of technologies e.g A Go service talking to a Java application server proxied with a C webserver that was configured with a bash script.

Once you have a mix of different technologies its easier to just say "everything in Docker".

The ship container analogy on the old Docker website was a great illustration of this. Its a shame the new website is not so clear about the benefits and is full empty phrases such as "accelerating innovation".

Re: Why would anyone choose Docker over fat binaries?

#4
I developed stowage.org to get a closer binary-like experience with Docker. What is great is being able to use containers like a generic any-language fat binary compiler.

However, there is a bunch more stuff in Docker (or equivalent runtimes) that this article doesn't touch on. It's similar in some ways, for some use cases. It could be interesting to see what a fat binary orchestration tool would look like, but I would bet you end up reinventing 99% of what Docker already does.

Re: Why would anyone choose Docker over fat binaries?

#5
The article makes sense if portability was the only reason to use containers. Fat binaries solve the portability problem in a way that may or may not make sense for a given project, but fat binariries don’t address any of the other issues that container technologies provide solutions for (sandboxing, resource management, etc.). Either the author isn’t aware of these other issues, or is purposefully sweeping them under the the rug, because arguably they are more important than simple binary compatibility. I’d be pretty down on containers too if I thought they only existed in order to distribute portable binaries.

Re: Why would anyone choose Docker over fat binaries?

#6
Its INCREDIBLY naive of the author to be slamming docker usage because they think everything should be a fat binary - and what are they even calling a fat binary? How do I make my node app a fat binary? Would they be happier if we wrapped up docker + images in an executable and called that a fat binary?

Also, I think the author is simply confused about what docker itself is, complaining about its lack of network orchestration - and comparing it directly to kubernetes!

Re: Why would anyone choose Docker over fat binaries?

#8
"Or rather, if the problem is resource and dependency and configuration management, we should solve the problem by moving to those languages that support fat binaries. Because fat binaries solve the main problem, without creating additional problems." This is the same attitude as the Javascript attitude. "Javascript is portable, so therefore all other languages are irrelevant."

This attitude is wrong. It is wrong because programming is hard. We have spent many decades trying to figure out how to program effectively. To produce simple maintainable code. Solving the hard problems, the interesting problems, is still too hard for us. The idea that "any language will do so long as it is portable" might as well lead us to write in LLVM-IR!

Re: Why would anyone choose Docker over fat binaries?

#9

Its INCREDIBLY naive of the author to be slamming docker usage because they think everything should be a fat binary - and what are they even calling a fat binary? How do I make my node app a fat binary? Would they be happier if we wrapped up docker + images in an executable and called that a fat binary? Also, I think the author is simply confused about what docker itself is, complaining about its lack of network orch…

its really not that naive, for the longest while that how google ran all its stuff through borg.

This left the resource management to the scheduler, where it belongs.

Re: Why would anyone choose Docker over fat binaries?

#10
Equating docker containers to fat binaries is naive and shows that you don't really understand what docker does. At my workplace, we use containers instead of VMs or emulators. The entire system of a virtual host runs inside a container (multiple apps, multiple namespaces, multiple network interfaces). Please tell me how to do that as easy as "docker run ".
Post reply on HN