Docker is becoming quite popular. I've used it as an end-user just 3 times, and it never worked as expected. But assuming it does work, can you please list some actual benefits? And contrast them with install scripts, for example (considering the overhead of the VM and the issues in VM-host communication).<p>There are two use-cases - software that gets distributed to end-users for deployment, and internal software that gets deployed on your own (or cloud) infrastructure.<p>Let's look at the 2nd case, which is more dominant. Why would I, as a developer, package my software with docker, if I can provide install scripts that do all of that, and thus have scriptable deployment without any extra overhead or learning curve? Or is docker mostly useful for the 1st usecase above?
The arguments for (and against) Docker are all over the web.<p>It's useful in both cases; it's not clear to me what you mean by "actual benefits". You have precise control over what's getting deployed and have almost zero reliance on anything on the deploy environment.<p>If you have "install scripts" that do all of that then you're duplicating the efforts of Chef, Puppet, Docker, etc. that are probably (but not necessarily; benefit of the doubt and all that) better than your deploy scripts. You're also still at the mercy of the environment where those scripts are run.