The container ship is sailing with everyone on board, including those who are running Windows 2016 in their data centers. Docker Container Platform for Windows Server 2016 officially introduces Docker to the Windows ecosystem. Docker continues to gain serious momentum among the container ecosystems, and Microsoft is making their direction well known as they prepare us for what’s coming as they look to embrace Docker as a go-to platform both on and off-premises.
Before we think about the big picture view, it’s always good to get things started at the starter level to kick the tires on the technology. We’ve talked about Boot2Docker in the past, so this is a chance to look at the more up to date method to deploy the Docker installer on Windows, so you can begin to kick the tires and determine the use case for your environment.
Before You Start
You’re going to need a couple of small things including Hyper-V (the free version), and Windows Server 2016 or Windows 10. This is a potentially limiting set of requirements for the latest build, however, there is still the option of using the previous Docker Toolbox in order to run on the Windows platforms that don’t meet minimum requirements.
Oracle VirtualBox can still be used in the absence of Hyper-V. You may find that you already have VirtualBox installed which can conflict with using the Hyper-V packages as it uses the same features that preclude running Hyper-V on the same machine. This is an unfortunate conflict for those who run multiple nested virtual instances on the same machine.
Another thing to keep in mind is that this will be a rather simple deployment of Docker. There are many other things to consider around multi-node architectures, private internal networking, persistent storage, persistent networks across reboots, and much more. In other words, the Docker for Windows that we are seeing today is more about tackling the initial packaging challenge that will get us to the next step in building more detailed and advanced solutions.
There are multi-container capabilities in the current build. It is more about understanding how we deal with things as we get up to the point where we are hitting the proverbial “at scale” which is where we will test potential limitations of the platform.
Getting Docker on Windows
The community around Docker and the Docker company itself are actively updating documentation and packaging to enable Docker on Windows. By starting with the main product page, you will see all of the initial prerequisites for deployment, as well as step-by-step installation instructions.
The installation gives you a large set of products that make up the Docker environment. You’ll see the runtime engine itself, a CLI client to be able to interact with your environment. Docker Compose is also included to build out YAML-based recipes to build out more complex Docker systems, and Docker Machine is provided to control Docker systems both locally and remotely.
Why does Docker for Windows Matter?
Let’s get to the important part, which is understanding why making Docker and container infrastructure easy to use on Windows is a big step. Simplifying the steps to build containerized workloads on your desktop, laptop, or even server, means that the same containerized workload can be moved to a production deployment.
We’re solving the first part of the challenge with providing a way to start developing on the Docker platform. This is the initial groundwork for us to get to the next task of designing resilient container infrastructure on Windows servers. We are not far from seeing this come to the next steps. Azure Container Service is already in general availability with Docker Swarm or DC/OS for orchestration.
As we see the move of Azure Stack into production availability in the second half of 2017, that should open the door for a much more effective cross-cloud and hybrid cloud architecture where containers are the packaging as a big enabler. Make sure to take a look at the pricing options for the Azure Container Service (ACS) environment, which helps you to understand where it stands against the traditional virtual instance pricing.
When you think of being able to run a small container at as little as 43 cents per day (based on the 0.018/hr pricing at the time of this writing), it is easy to see how it stands up well against the lightest duty Azure Virtual Machine which is 0.020/hr, but will have much more internal resource usage due to being a full operating system environment with potential overhead that may be unnecessary.
Concluding Thoughts
Containers are coming, and it won’t be long before we consider it to be standard fare to run Docker, Rocket, LXC or whatever potential alternatives will come from the industry growth in the next months and years. Docker has led the charge, so it’s up to us to test the waters ourselves and see whether it solves a business challenge that we can make use of.