Using Docker over the last two years has been a wonderful experience. It is not always perfect. I've certainly had to write new tools (and use other's tools) to deal with a missing or not-fully-baked features for my own needs. However, this has served to allow us to focus on the next level of problems in administering systems, be it for local dev envs, production clusters, and everything in between.
Very often when talking to other developers they all agree they like the Docker model, but the path from a simple dev env to a proudction cluster (even a small one) is unclear. Indeed, I tend to agree, there has not been a simple way to set this up without rolling your own tooling (which I've done a lot of).
The Docker community has been working on new tools and API's to help fill in some of those gaps and aleviate some of the headaches with some supporting tooling like compose, swarm, and machine, but still these aren't really production ready yet nor the integration points completely figured out. That is not to say don't use these tools, I use them every day. I don't create a Digital Ocean droplet without doing it through docker-machine, for instance.
Thankfully, this is somthing being worked on! I'd like to show you some of it. It is still QUITE rough around the edges, but I'd expect to see some major improvements soon, possibly even in time for for the Docker Engine 1.9 release (October). Without further ado, let's take a look!read more