And yet oddly for something so young, it's seeing more usage than OpenStack. Of course that may have more to do with the problems within OpenStack, but Docker has it's own attractions too.
OpenStack is just mindbogglingly overcomplicated. They appear try to get you to buy the kitchen sink and a space station when what you want is a sofa.
This could be a marketing problem, but it's the impression OpenStack gives me whenever I look at any of it.
Even "just" individual components like Swift makes me want to bang my head against a wall just from looking at an architecture diagram.
Of course, for large deployment you may end up needing all that complexity. The difference is that with OpenStack you need to figure out what you can disable. With the Docker eco-system, you get to figure out what you need to add as you build. The latter approach is much more friendly.
They have waaaaaaay more marketing than OpenStack. They've probably written and sponsored more PR fluff than code for Docker. And it's easier to deploy.
I agree that Docker is easier to deploy than Openstack :) However...
It always astounds me how some people massively over-estimate the size and influence of Docker's marketing... Why yes, of course! The way we got Google, Microsoft, Amazon and IBM to integrate it in their products is by ghost-writing PR fluff. That's also how we got 600 people to contribute 9,000+ pull requests over 18 months [1] [2] [3]. Not bad for marketing monkeys!
Seriously - after seeing so many hackers work so hard to improve the project every day, the "it's all marketing fluff" crap always gets to me. It's just plain disrespectful. How much legitimate engineering work do you need to see before you start respecting other people's work?
Yes, and good engineering is also the art of simplicity; we should also respect engineering work by the amount of useless code they didn't write.
Docker resonates well with people because it focuses on aspects of virtualization that people care: development and deployment. It alleviates the need of using complicated configuration management tools by providing layered images, and encourages fine grained containers by supporting first class volume sharing.
The fact that it integrates well with other virtualization stacks is a proof that for a good part it's orthogonal to them.
My logical opinion says that Docker is a useful tool which, though flawed in many ways, provides real value to a large number of users. I've even recommended Docker be used for new projects in my company, on the basis that it fits in well with what we're trying to do.
My emotional opinion is that Docker trades on trends in startup-world, systems engineering and the open source movement for the sole purpose of eventually generating revenue. This capitalistic perversion of what were before two idealistic and noble things (open source, engineering) is, quite honestly, abhorrent to me.
So to answer your question: while I might eventually respect its engineering accomplishments, I despise it on principle. I hope one day it turns into a simple useful tool that people can decide to use or not use without being cajoled by developer evangelists.
> My emotional opinion is that Docker trades on trends in startup-world, systems engineering and the open source movement for the sole purpose of eventually generating revenue. This capitalistic perversion of what were before two idealistic and noble things (open source, engineering) is, quite honestly, abhorrent to me.
Except that the last thing anyone with a monetary stake in your business will do is tell you to open source your main product. The Docker project has fought damn hard, and continues to, to make sure that a carefully curated line between business and the open source project exists (see for instance the creation of the Docker Governance Advisory Board).
Docker's initial marketing consisted of posts on the blog of a fairly unpopular PAAS vendor, and some meetups in SV. I think they made some T-shirts at one point fairly early on too.
Compare that to the combined marketing budgets of HP, Dell, Rackspace, Redhat etc. I've probably had more spent on me by OpenStack marketing (taking flights & lunches etc into account) than the marketing budget of Docker prior to their recent funding round.
If you take "marketing" to mean random 3rd parties writing how they use Docker to solve actual problems, then yeah - I see a lot more of that than I do for OpenStack.
Well, the project for the kernel features is the same people, but I don't think it is really named "lxc", its just patches for Linux. In the kernel they are just called "namespaces".
Edit: You know Docker doesn't use LXC by default anymore, right? It uses a different container library called libcontainer.