Docker and containers (Part 7) - Other Tools for Managing Windows Server Containers

by [Published on 25 Aug. 2016 / Last Updated on 25 Aug. 2016]

This article examines other tools you can use for managing Windows Server Containers.

If you would like to read the other parts in this article series please go to:

In this short series of articles we started out by learning about the basics of how container virtualization is implemented in the soon to be released Windows Server 2016 operating system. We then examined the two different "flavors" of container technology coming in Windows Server 2016, namely Windows Server Containers and Hyper-V Containers. Then in the last article we learned a bit about how you can use Windows PowerShell to perform various tasks with Windows Server Containers. But Windows PowerShell isn't the only toolset or platform you can use for managing Windows Server containers, and in this present article we're going to examine a couple of other options available to you for accomplishing this.

Managing Windows Server Containers using Docker

As described earlier in Part 2 of this series, Docker is a collection of open source tools, solutions and cloud-based services that provide a common model for packaging (containerizing) application code into images that can be easily distributed to and deployed on host machines. Docker was originally created for the Linux platform and was designed to work this way regardless of which flavor of Linux your host machines are running. Since its inception however, Docker has expanded its functionality by partnering with cloud solutions like Amazon Web Services (AWS) and Microsoft Azure, and with platform providers like IBM and Hewlett Packard Enterprise (HPE).

While you can install Docker for Windows and/or the Docker Toolbox natively on a Windows Server system, what this will do is set up a desktop machine that can run Docker Linux containers directly on Windows. But what if you want to run Windows Server Containers instead of Linux containers? Does Docker still have any use in this case? Yes it does, for although you can use Windows PowerShell to create and manage Windows Server Containers, if you already have some familiarity using Docker to managing Linux containers, you can leverage your learning and experience by using Docker to manage Windows Server Containers. To accomplish this feat you can install the Docker Engine and other tools of the Docker ecosystem directly on systems running Windows Server 2016 Technical Preview (TP) which at the time of writing this article is currently in the TP5 release. Alternatively, you could deploy a Windows Server Container Host with the Docker Engine installed and then manage it remotely from a client machine that has the Docker development tools and editors installed on them. Either way, once you've set up Windows Server 2016 TP5 to work with Docker, you can build Docker images on Windows and run containerized applications isolated in Windows Server Containers. Windows Server 2016 TP5 even includes full push-pull support of Windows Server-based Docker images based on the Docker Hub so you can share your images with the Docker community. You can find some of Microsoft's preliminary Windows Server-based Docker images on the Docker Hub here. And for more information on how you can get Docker up and running for managing Windows Server Containers on Windows Server 2016 TP5 you can look at this blog post by Michael Friis on the Docker Blog.

Windows Server Containers can be managed using Docker in two ways. First, you can simply run individual Docker commands at the command line on a system that has the Docker Engine installed. Commands like docker version, docker run, docker history, docker ps and so on allow you to perform a wide range of installation, configuration and management tasks for Windows Server Containers. Second however, you can use Docker automate much of your Windows Server Container management by using Dockerfiles, which are text files that contain instructions for creating new container images. The instructions within these Dockerfiles are triggered by using the docker build command which is a key command for automating Docker management tasks. Neil Peterson has a helpful walkthrough on this in his article Dockerfile on Windows which can be found here on MSDN.

And of course, you can now do all this in Microsoft Azure since Microsoft has provided a virtual machine template for deploying Windows Server 2016 Core with Containers Tech Preview 5 as the following figure shows:

Image
Deploying Windows Server 2016 Core with Containers Tech Preview 5 on Microsoft Azure.

So if you have a trial Microsoft Azure subscription or an MSDN subscription, you can set up Windows Server Containers for free. You can also just install Windows Server 2016 TP5 either on a physical system or in Microsoft Azure and then set up and use Docker manually as this MSDB blog post by Julien Corioland describes in some detail.

Another even newer option for managing Windows Server Containers with Docker in Microsoft Azure involves the Docker Datacenter, a solution from Docker that delivers Containers as a Service (CaaS) that allows you to build, ship and run any application anywhere easily. When you create a new virtual machine using the Azure Marketplace you now have the option for deploying Docker Datacenter as shown in the next figure:

Image
Deploying Docker Datacenter using the Azure Marketplace.

For a full description of what Docker Datacenter is all about see this page on the Docker website.

Managing Windows Server Containers using a GUI

Managing Windows Server Containers using Docker will likely be most appealing to those IT departments and organizations who are already using Docker Linux or have some familiarity with that platform. Windows Server administrators who haven't got any prior experience with Docker however are better off learning how to manage Windows Server Containers using a technology that they are already (or should be) familiar with, namely, Windows PowerShell. But what if you're a Windows admin and PowerShell isn't exactly your cup of tea and you don't feel all that confident using it? Is there any way to set up and work with Windows Server Containers using the GUI on a Windows Server 2016 server?

Unfortunately as of Windows Server 2016 TP5 the answer is still no for this question. But that doesn't mean you're completely out of luck in this regard, for it just so happens that Darryl van der Peijl a Microsoft MVP from the Amsterdam area has created a GUI-based tool called Windows Server Container Manager which you can download here from the TechNet Gallery and test drive on Windows Server 2016 Technical Preview 3 and later. Darryl has a screenshot of this tool in this Twitter post which you can look at which gives you a bit of an idea what this (still kinda rough) tool looks like. Darryl's tool was last updated in May this year and hopefully he will continue improving it so it can be useful for those who might need it once Windows Server 2016 reaches General Availability (GA). Darryl also has a blog you should check out if you work in any way with Azure (his blog is in English).

Final thoughts

Docker and Containers continue to grow in power and functionality on the Windows platform, and this series has been designed to get you started with it and especially with Windows Server Containers which are coming soon in Windows Server 2016. I'll revisit some of these topics in greater depth in future in some of my future articles here on VirtualizationAdmin.com.

If you would like to read the other parts in this article series please go to:

See Also


The Author — Mitch Tulloch

Mitch Tulloch avatar

Mitch Tulloch is a well-known expert on Windows Server administration and cloud computing technologies. He has published over a thousand articles on information technology topics and has written, contributed to or been series editor for over 50 books.