Getting Real With Docker
photo credit: http://www.houstonshipcontainer.com/

Getting Real With Docker

Warning: This gets geeky, but not detailed. You have been warned.

About 7 months ago I decided I should understand something about this new thing called Docker. At the time all I had really heard about it was that it had something to do with virtualization, containers, and EVERYONE was going there.

Truthfully, I thought, "how useful could this plaything be?"

My first steps into it were mind-bending. My only experience with virtualization was with VMWare and VirtualBox and the frame of reference just did not fit. My thought process had to change, and that was going to take time.

Docker is not a VM. That was the first thing. It has more to do with application virtualization than OS virtualization. I had to change from thinking about virtualization as a rich multi-daemon and multi-process environment to focusing on a single process and no daemons. Once I made peace with that I started to understand.

Docker is not what the other guy says about it. (Hmmm... here I am saying something about it...) Your experience is likely to be quite unique when compared to other organizations. To take their methods and rules and apply them without modification to your situation is akin to a one-size-fits-all attitude. It just isn't true and it won't fit. You must be open-minded for sure, but don't think you need to be just like the other guy just because he says so.

Docker is flexible. I heard a lot of scary stuff about docker at the beginning: containers are immutable and can't store data, containers disappear when they stop, and containers can't do X! First off containers can have state and can store data. The hang-up is when you wish to scale in a fully automated way. If you don't intend to scale up using automated tools, don't worry about it. Have fun storing your data... and it will still be there even if you restart the very same container over and over (yup, you guessed it, they don't have to disappear). As for X? Well, try it. If you get Docker working nicely with X, then more power to you and ignore the naysayers! Find your ideal setup and grow from there.

Docker is changing... FAST! The folks at Docker have been working very hard to add more security, more features, and easier administration. Docker is much more that it was even 6 months ago so don't keep reading the articles from a year or two ago, they won't necessarily bring you any peace.

Also, here's another mind bender, there are different distributions of Docker. I played around with the distribution from RedHat and found a neat parameter on the build command for temporary build time volumes. I took for granted that this was a universal docker feature. I was wrong. I probably frustrated a number of people every time I mentioned they should use that feature... they didn't have it in their distribution. Hmmm... just be aware that differences in distributions do exist.

After the fog cleared with all of the stuff I was learning, it started to be fun. I also could see why so many people are saying this is a great tool. The possibilities started to open up and within a few months we actually started a project where we will implement 5 docker servers to solve a real business problem and save money doing it. Pretty good for a plaything. Our setup is not complicated and we are talking about 20 containers or so. We are not using Kubernetes or any other orchestration tool (at least not yet). We have started very simply and we will grow as needed. We will go live on those servers starting in the next 2 weeks.

Lastly, Docker may not be for everyone. You may find situations where a docker implementation really doesn't buy you much. There it is. However, you never know for sure until you get dirty with it!

(I may venture to post more technical information on Docker in future posts.)


Thank you Dennis! A new plaything to tinker with.

Like
Reply

To view or add a comment, sign in

Others also viewed

Explore content categories