Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

An interview question I asked recently: what are the advantages of Docker over an application deployed as a statically linked binary?


I use Docker as a tool for creating statically linked binaries...

For example, here: https://github.com/mbrock/gf-static/blob/master/Dockerfile

Making static binaries is often extremely painful and confusing. It's easier on a distribution like Alpine, and nicely enough, Alpine comes as a Docker image.

In general, Docker's ability to basically spin up a whole Linux distribution, with a whole root file system, makes it very different from just using static binaries.

Along with Docker's image repository infrastructure, it makes some things easy that weren't easy before. Like, I don't know if there is a static binary build of the Erlang runtime system, and I don't know what kind of file system tree that system needs, but I just now opened an xterm and typed "docker run -it --rm erlang" and got an Erlang 9.0.2 shell.


The same benefit of deploying a statically linked binary in a VM without the overhead of the VM.


What kind of answers do you expect/would like to hear?


I intend it to be a starting point for a conversation, someone who really understands it will be able to convince the skeptic that I play, someone who is just typing the commands because it's trendy won't. Also it helps if they know what a statically linked binary is.


It is obvious from your comments that nobody will convince you of any merit Docker has. You are not "playing a skeptic".


I like containers as a concept, and I like the Docker commands for building them and running them locally. I am less convinced by Docker Swarm as a Prod-grade runtime environment, and skeptical that Docker the company can build a viable business out of something that will rapidly become a commodity, I expect the file format will long outlive the company that created it. But those are nothing to do with the question really, which can be answered purely technically.


Curious--how do you feel about Mesosphere and Kubernetes vs. Docker Swarm?


Big fan of DC/OS. Ambivalent about k8s, but maybe it's just not for my use cases.


Based on most interviews, he wants you to answer like he would answer or he wouldn't hire you.


Did you just assume my agenda?


Binaries are built for specific operating systems. E.g. A Linux binary can't run on Mac OS X, except with a VM or... a container. :)


So are containers...?


Indeed, Docker on OS X is actually running virtual machines through xhyve.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: