Docker Container for Windows - desktop app
docker, docker-for-windows, windows
Solution
No, this isn't something you will be able to do.
There are currently two Windows container images, `microsoft/windowsservercore` and `microsoft/nanoserver`
nanoserver
This blog post about TP4 (one of the earlier releases) says
The only option available when logging into console of a virtual machine running Nano Server or connecting a crash cart to a physical Nano Server is this very plain emergency console
This section on managing Nano server also states
Nano Server is managed remotely. There is no local logon capability at all, nor does it support Terminal Services.
There is also this article, admittedly not from Microsoft, about Windows Nano server
Nano Server strips back the operating system further still, dropping things like the GUI stack, 32-bit Win32 support, local logins, and remote desktop support.
Nano Server is designed for two kinds of workload: cloud apps built on runtimes such as .NET, Java, Node.js, or Python, and cloud infrastructure, such as hosting Hyper-V virtual machines.
servercore
Docker blog has a pretty interesting entry Introducing Docker for Windows Server 2016. This part addresses the question of GUI apps
The Windows Server Core image comes with a mostly complete userland with the processes and DLLs found on a standard Windows Server Core install. 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.
If you wanted to set up that kind of an environment, one option is to use something like Vagrant to orchestrate starting and provisioning regular windows VMs. Though 6 windows VMs will not be easy on memory.
Problem
If I create a container with windows image on it, is it possible to use a remote connection to actually see the desktop and , for example, play minesweeper? My use case is this: I have hundreds of users. Each user need to create their our infrastructure consisting in about 6 machines linked together. After creating, the user will open some desktop gui apps on each one using a remote desktop connection.