
Ask HN: Why are some projects defaulting to Docker for public use? - reacharavindh
Hi HN! 
I&#x27;m a bit old school, wanting to run my software packages from OS repos or compiling them myself, creating aliases for them and such. Recently, I have encountered a bunch of great open source projects that just say &quot;Docker run&quot; this in order to use it.<p>Why do they expect me to be able to use Docker by default?<p>Even for really simple projects with not a lot of dependancies. Example: https:&#x2F;&#x2F;github.com&#x2F;adtac&#x2F;commento#getting-started<p>Isn&#x27;t it a major selling point of Go to be able to ship single binaries that &quot;just run&quot;? Why enforce Docker on users?
To my eyes, it looks like I&#x27;m expected to run a (fast&#x2F;quick)VM for every software package in an operating system. Why?<p>Is there any common knowledge of extracting a software package out of such &quot;dockerized&quot; projects that I don&#x27;t know of?<p>Any educating in this respect is appreciated.
======
chatmasta
Because it will work on any system that runs docker, no questions asked. If
you need more control, you can always just copy the commands from the
Dockerfile and adapt them to your own system.

Or _gasp_ you could update the reader yourself and submit a pull request!

------
twobyfour
Yeah, I haven't come across that yet, but I wouldn't install and run something
packaged that way either. At the very least it should have setup instructions
for how to actually get the thing to run outside the pre-packaged container.
Yanno, in case you want to customize it like half the point of open source is.

------
rahimnathwani
> Why do they expect me to be able to use Docker by default?

Because it's easier to follow the instructions for installing Docker once,
than to follow the instructions for each piece of software you might want to
install.

> Is there any common knowledge of extracting a software > package out of such
> "dockerized" projects that I don't > know of?

Have you tried just following the commands in the DockerFile? The DockerFile
for the project you mentioned looks a lot like the Install.md that I presume
you want.

[https://github.com/adtac/commento/blob/master/Dockerfile](https://github.com/adtac/commento/blob/master/Dockerfile)

------
dozzie
> Why do they expect me to be able to use Docker by default?

It comes from the fact that building software so it can run on something other
than Ubuntu 17.10 or something other than CentOS 7.4 (or more like "current
version of Alpine/NixOS", since the two mentioned are quite old-fashioned
style) takes time and effort in thinking and planning, and on top of that it's
a different direction than programmers are ready to pay attention to.

Packaging software for a distribution, or even bundling it so it's not broken
with regards to packaging, takes effort. It's much easier to make a mess in an
overblown chroot than to put the files for deployment carefully.

> Why enforce Docker on users? To my eyes, it looks like I'm expected to run a
> (fast/quick)VM for every software package in an operating system. Why?

No good reason, it's just that Docker is current fad.

