Microsoft is clearly aware that developers are asking for container support. As Microsoft general manager for cloud platform marketing Mike Schutz told me, the company wants to help both IT professionals and developers who are now under more pressure than ever to quickly bring apps from the development phase to testing and deployment. Thanks to the overall momentum that containers are currently enjoying, developers want to be able to use them, so Microsoft also has to give IT the tools to manage them.
Schutz argues that the Windows Container tooling with feel “very familiar for Docker developers when they use Powershell — and Powershell users will feel very comfortable there, too.” To add a bit of confusion, though, containers created with Powershell can’t be managed with Docker (and visa versa).
Docker and Microsoft are partnering to bring both Windows Server and Docker containers to Windows, and allowing developers to manage them with the standard Docker tools. That’s obviously a major win for Docker but also for developers who have to deploy their applications on Windows Server. Until Microsoft jumped on board, after all, Docker was mainly a Linux technology.
It’s worth noting, though, that you won’t be able to take a Linux container and run it on Windows Server (or visa versa). As Microsoft’s Azure CTO Mark Russinovich noted in a blog post earlier this week, “Linux containers require Linux APIs from the host kernel and Windows Server Containers require the Windows APIs of a host Windows kernel, so you cannot run Linux containers on a Windows Server host or a Windows Server Container on a Linux host.” What you can do, however, is use the same Docker client to manage both kinds of containers.
In a way, that makes them somewhat more akin to traditional virtual machines (which unlike containers, include a copy of the operating system). Docker will be able to manage both Hyper-V Containers and Windows Server Containers. Support for Hyper-V containers on Windows Server, however, won’t arrive until the next preview.
To support these containers, Microsoft is also launching updated Docker tooling for Visual Studio today.
As Schutz noted, many of the container technologies, as well as some of the software-defined networking technologies the company is launching with this preview, were built from the same technologies the company developed for its Azure platform.
Other new features in this Windows Server preview include some new features for the lightweight Nano Server option, including a new emergency management console for fixing networking configuration, as well as new security features to better isolate virtual machines from the host operating system. You can find a full list of new features here.