How Docker turned intricate Linux code into developer pixie dust
venturebeat.com
venturebeat.com
Docker is unfinished.
How do you handle permanent data storage? Particularly, this scenario: http://stackoverflow.com/questions/18496940/how-to-deal-with...
It's a very active project. Can anyone else think of other gaps Docker has yet to fill for common scenarios you'd use it for?
* Each container is kept indefinitely and it's up to the user to adopt a garbage-collection strategy.
* Images built with a Dockerfile contain the build dependencies even if they're not needed at runtime. That has to be a better way.
* Docker is still single-host. If you want to scale horizontally you need to build another layer on to to run the containers on different machines. But then features like container links don't work anymore.
* Unlike the real physical container it actually matters what's inside the box. You can't run the same container on different CPU architectures.
If you didn't want the build deps, you could create a Dockerfile for building the binaries, then another one for copying them to the release container.
[1] http://coreos.com [2] http://coreos.com/using-coreos/etcd/
I've tried to use Docker to just isolate non-distributed ("singleton") services (in particular, virtualizing a single Puppet Master) and found it just staying in my way and complicating things more than they should be without any gain. But if I'd need to, say, launch a bunch of redundant servers or provide a PaaS-type hosting - I'd probably use Docker.
That is, I guess, due to a hype, Docker just accidentally got marketed outside of its problem domain.
Anyone with half a brain and experience with virtualization or dev ops in general can see that the numerous powerful features of Docker provide a superior paradigm.
Your reaction is quite common though. Similar to the reaction people had with Node.js or going back very far to Java. Any new game changing technology that comes along is going to have people dismissing it for various reasons.
You may need to simply say that its not ready because you found some problems that you weren't able to solve such as data storage. This way you can pretend the technology is immature rather than admitting that you weren't able to figure out how to use it.
Other reasons for dismissing paradigm shifting technologies besides just not being able to learn them: status quo bias or sunk costs. Many application developers, once they had dedicated a certain portion of their lives to learning the intricacies of c plus plus were not able to accept that superior application development technologies were invented.
There are a number of ways for handling permanent storage.
Examples of permanent volumes would be constructive. Anyone with half a brain and experience with virtualization or dev op...
Oh. glances around at the roomYes I dare say docker is quite magnificent.
A pompous lord; A knight. A good servant, nobel on his steed. Who would never betray his faithful beloved. The overlords in heaven look down upon you with a straight face. You can sleep in peace tonight. A clean bill of health from the hive mind.