August 18, 2017

Have you heard that you can use Docker for Windows, but are confused about exactly how it works? Then this is the post for you. Keep reading for answers to everything you want to know (but are afraid to ask on Stack Exchange) about Docker containers on Windows.

Does Docker Run on Windows?

Yes. In fact, it runs in two different types of ways:

What’s the difference between Docker for Windows and ‘native’ Docker on Windows?

Good question. As noted above, Docker for Windows uses a virtual machine to host Docker. It’s intended for developers who run Windows and want an easy way to test Docker on their development boxes. It’s not designed as a solution for hosting production Docker workloads.

In contrast, native Docker for Windows means Docker containers that run, well, natively. There is no virtual machine in the mix, and you don’t need Linux. With native Docker containers on Windows, you can run any Windows application inside a Docker container and manage it in the same way that you would using Docker on Linux.

Which versions of Windows does Docker support?

Docker for Windows supports all modern versions of Windows.

However, native Docker containers on Windows require you to run either Windows Server 2016 or Windows 10. Earlier versions of Windows are not supported.

What are the differences between native Docker containers on Windows and Docker on Linux?

The most important differences include:

  1. On Windows, you can optionally use PowerShell to manage containers, in addition to the Docker CLI. On Linux you can only use the Docker CLI.
  2. Some parts of native Docker support for Windows, particularly networking, are still in development. On Linux, these components are fully mature.
  3. You can’t use a native Docker container on Windows to host a Linux application or vice versa. Unlike virtual machines, Docker doesn’t allow you to take an app compiled for one type of operating system and run it on a different one.

Which container orchestrators can I use on Windows?

Docker Swarm is the only orchestrator that offers full support for Windows at this time. However, Kubernetes offers alpha support. Mesos is slowly but surely adding support for Windows, too.

Is anyone using Docker containers on Windows for production?

I haven’t heard about it. Native Docker support for Windows is relatively new—it debuted at the end of last summer—and it is still subject to the limitations noted above. It’s a safe bet that it will be some time before Windows admins start migrating to Docker en masse.

Christopher Tozzi

Christopher Tozzi has covered technology and business news for nearly a decade, specializing in open source, containers, big data, networking and security. He is currently Senior Editor and DevOps Analyst with Fixate.io and Sweetcode.io.

  • dennyzhang.com

    Nice summary about docker in windows. Thanks!