Docker running Windows applications

I understand Docker to be a containerization tool, with a limited set of APIs so as to be platform agnostic. I am trying to understand what limitations it places on typical Windows development. For example, does it limit access only to write to a file system (and therefore rules out applications that write to the registry)? Is there a level of complexity where Dock is not suitable (but then again I heard that MSSQL will be supported on docker)?

  • Rapid virtualization with “fork from here” to a new LXC/docker container
  • how to update docker in coreos
  • How can I get access to tools for debugging, etc., in a docker container?
  • docker-compose swarm: force containers to run on specific hosts
  • Running NSQ in Docker
  • websocket protocol not supported trough Apache2 reverse proxy
  • getUserMedia in Firefox in Docker not working when using audio
  • Make docker exit during dockerfile if errors in webpack
  • Can't connect to mongodb docker container from another container
  • Deleting devicemapper after changing storage driver
  • Docker library/base not found?
  • How would a provide a self-updating web application, delivered via docker image?
  • One Solution collect form web for “Docker running Windows applications”

    This question is really broad, and hard to answer definitively, but a few specific points in it can be addressed.

    I understand Docker to be a containerization tool, with a limited set of APIs so as to be platform agnostic.

    It’s platform agnostic in a sense that you could run a container on CentOS, Ubuntu, or any other Linux distribution, but you can’t run a Linux container on Windows natively, or a Windows container on Linux natively. Introducing Docker for Windows Server 2016 is a good place to start with information regarding Windows containers.


    For example, does it limit access only to write to a file system (and therefore rules out applications that write to the registry)?

    Based on this MSDN FAQ, no (emphasis mine)

    Windows Server Containers are a lightweight operating system virtualization method used to separate applications or services from other services running on the same container host. To enable this, each container has its own view of the operating system, processes, file system, registry, and IP addresses.

    For example, dockerfile for SQL Server Express image modifies the registry.


    Is there a level of complexity where Dock is not suitable

    The question isn’t about complexity but about availability of APIs. This is also from the above mentioned Docker for Windows Server 2016

    With the exception of GUI apps and apps requiring Windows Remote Desktop, most apps that run on Windows Server can be dockerized to run in an image based on microsoft/windowsservercore with minimal effort.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.