In The craft
What is Docker?

What is Docker? To be honest, I’m still working that out. But I’ll tell you what I know.
Docker is a way to containerize your application. Why containerize my application? Because then, it simply plugs into any docker instance on any server.
Consider if each electrical device had a unique power interface. Supplying power to each device would be a major event. Much like deploying applications in today’s software environment. Docker aims to change that.
By putting your application in a Docker container, your application runs anywhere a container runs. And a container runs on any server with Docker installed. Simple as that. No configurations, no installations — it just works.
This is achieved by configuring your application to run in a Docker container. A docker container is a mini, stripped down Operating System (OS) environment — OS features are added as needed. As in a full OS, your application is configured to run on the OS. It might be as simple as copying files or it could involve sophisticated configuration. Here’s the best part, once your application is configured to run in a Docker container, that’s it.
This sounds great, when can I start using it? The good news is, if you’re on Linux, it’s ready to use now. If you are on Windows —it’s not quite ready. Docker does not run natively on Windows. There is a package that allows Docker to run on Windows, but it involves running Docker in a Virtual Machine (VM) … it’s not recommended. Anyways, Windows applications won’t run in Docker because Docker emulates Linux. But don’t fret, Microsoft is hard at work on a container technology that is slated for released with Windows Server 2016.
To learn more about Windows Server 2016 and Windows Containers read this article.
I’m excited about containers. I see containers revolutionizing software and we’ve only scratched the surface with what’s possible.