Why would I ever want to use Docker?

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: lawrence@krubner.com, or follow me on Twitter.

I’m trying to be open minded about Docker, but it is a struggle to grok why this is good. Do I want to bind all dependencies to my app? Great, then I’ll build uberjars that combine everything into 1 binary. But how will I work with Ruby On Rails? That’s easy: it is time to move away from Ruby On Rails. If Ruby can only be kept alive by using Docker, then we should give up on Ruby.

How will I standardize new and old servers? I will use Puppet.

How do I restart an app that has died? I will use Supervisord.

Are these choices old-fashioned? Mabye, but they work fine, and they don’t introduce a completely unneeded layer of abstraction.

How will I offer a standardize image to new developers who want to get set up to start doing development work? Is there any reason why Puppet won’t set up the necessary server?

Why would I use Docker?