@Herman:

the busybox container last time I checked was 1.1MB (yes MB) and I think the "helloworld" one was 256KB.

That is a nice portable sandbox. I agree with @Ryan: not an overkill, but just the thin veil of the sandbox :) Wed' have to re-invent a linux union FS... There is no point.  I think the trick is to start from the container you find more suitable for your specific needs like size, tools already configured, support, etc. 

As an example, I like the Tutum CentOS distribution because they provide the ssh daemon that the official CentOS image does not have. Ssh is cumbersome to provide with all the security and start-up scripts. options that we will need etc. Tutum does a great job and has been maintaining it for over a year now. Ah, they've also just been bought by Docker ;)

Bottom line: we are not in the OS business but are happy to work with these great innovations. 

You mentioned micro-service: YUP! That's where we're all going...even those with monolith...(all of us) :-D 

Micro-services deserve a thread or a GS2016 session on their own, so I won't waste this space :)

You also mention the stack... well, what about a standard VM? it's bloated; you don't care about it but you must maintain the OS; it takes ages to boot up; ditto for shutdown... isn't that bloated?

Thanks for your contribution!

@Ryan I think you might be right about @Dmitry comment.

We are supposed to announce Docker containers support any minute now. We have been testing for a couple of releases. Aside the usual gotchas it's "business as usual" as long as you use supported OS container images. Right now these are RH, SUSE, CentOS. 

Your Docker engine can run on anything you like of course. That's the whole point of it and it does it fast! :)

I would recommend using Ubuntu 15.05 & above as it comes with the latest kernel and therefore does not have SHMMAX restrictions (32MB!). You'll be a happy man when you run your container and ask for more shared mem in the form of globufs :-) or just during installation time.  The alternative is to use the --privileged flag which is of course not desirable.

Best Practises? Treat it as a new platform with many things to learn about it. There is much documentation out there starting from the Docker site itself.  Of particular interest is the data persistence part, as containers are immutable by nature. How do you save data? Where do you save it to? Why should I then use containers? 

if you can get hold on our site of the Global Summit 2015 presentation titled "All about Containerization" you'll find interesting things in there. Let me know.

Containers are not the solution to all our troubles. However, they aid in many aspects of architecture design as they present operational issues much earlier in the operational process. The idea is the OP people work closely with Developers... and both find a programmatic (automation) solution to the deployment of an app.

Yes, if you thought of DevOps, you're in the right quadrant. Furthermore, think of infrastructure-as-code and even immutable-infrastructure.

HTH for now