While Microsoft customers are drumming their fingers waiting for the next version of Windows Server to deliver native Docker container support, a third party -- not Docker, not Microsoft -- is attempting to provide Docker containers for the current generation of Windows Server systems.
WinDocks -- the name of both the company and its product -- has released a 1.0 version of a Docker engine designed to run on Windows Server with support for .Net and SQL Server in containers.
The Docker engine used in WinDocks is a direct port of the existing Docker daemon, combined with "an open-sourced Windows container project originally developed by Uhuru Software," according to WinDocks. (Uhuru also previously created a Windows version of Cloud Foundry and a .Net implementation of OpenShift.)
WinDocks reuses the existing Docker API, so the Docker client for Windows can interact with it. "We implemented a subset of the full Docker commands, arguments, and options, just as is the case with Microsoft's efforts on Windows Server 2016," said Paul Stanton, vice president of Windocks, in an email. "We will plug in and be part of the Docker tool ecosystem."
WinDocks could win over users with its support for .Net and Windows applications, as well as SQL Server in containers, which Microsoft currently does not do. Aside from running SQL Server, this includes "varied user configurations for Microsoft Dynamics," according to WinDocks' press material.
Though it uses open source software, WinDocks is commercially licensed. The standard cost is $400 per core per year; with SQL Server, the price climbs to $1,000 per core per year. A single-system, unlimited-cores developer license is available for $249.
There's a big reason why Docker has taken time to be ported to Windows, even with Microsoft helping out: A number of system-level constructs used by Docker don't yet exist in Windows. Most crucial among them is namespace services, used to prevent a containerized process from accessing certain parts of the system (such as network interfaces), restrictions for API calls to sandboxed processes, or mechanisms to keep contained processes from interacting (for instance, by way of shared memory).
WinDocks notes many of these limitations, but expects that the current user share for Windows Server 2012 -- which "won't peak in share of usage until around 2020," according to Stanton -- will drive interest toward the product.