Windows in a Docker Container? Yeah, It's a Thing.
You've probably run a Linux distro in a container a thousand times. It's a fundamental part of the modern development workflow. But what about Windows? The idea of running a full Windows desktop inside a Docker container sounds like something between a mad science experiment and a developer's dream for isolated testing.
Turns out, it's not just a dream. The dockur/windows
project on GitHub does exactly that, and it’s as fascinating as it is useful.
What It Does
In a nutshell, dockur/windows
is a Docker image that boots a fully functional Windows operating system. It uses KVM (Kernel-based Virtual Machine) acceleration and QEMU to emulate the necessary hardware, all neatly packaged inside a container. This isn't just a headless server core; it can run a full Windows desktop environment, which you can access via an integrated web-based viewer or RDP.
Why It's Cool
The cleverness of this project is in its practicality and isolation. Instead of needing a dedicated VM hogging your system resources permanently, you can spin up an isolated Windows instance with a simple docker run
command. Need to test an app on a pristine Windows 11 install? Done. Have a sketchy legacy program you don't trust on your main machine? Perfect sandbox. Want to see if your web app looks right in IE (for some reason)? This is your quickest path.
It effectively treats Windows like any other ephemeral service—start it, use it, and then throw it away without leaving a trace on your host machine. For developers who cross the Linux/Windows boundary, this is a powerful tool for maintaining a clean primary OS while still having full access to Windows environments.
How to Try It
Getting started is straightforward, though you'll need a Linux host with KVM support (or be prepared for slower emulation on other systems). You'll also need a Windows ISO file.
The easiest way to jump in is using Docker Compose:
-
Clone the repo:
git clone https://github.com/dockur/windows.git cd windows
-
Place your Windows ISO file in the project directory and rename it to
win.iso
. -
Fire it up with Docker Compose:
docker compose up
-
Once it boots, open your browser and navigate to
https://localhost:8006
to access the web viewer. The default credentials areAdministrator
for the user andpassword
for the password (you should change this for anything serious!).
The project's README has extensive documentation on configuring different versions of Windows, adjusting resources, and using RDP for a better experience.
Final Thoughts
Is this going to replace your daily driver or a dedicated Hyper-V/VMware setup for heavy lifting? Probably not. The performance is good for a container but can't beat a native VM on a Windows host.
But as a developer-focused tool for quick, disposable, and isolated Windows environments? It's incredibly cool. It embodies the "cattle, not pets" philosophy for desktop OSes. It’s one of those projects that feels like a neat hack but has genuine, practical utility for testing, development, and safe experimentation.
It’s definitely worth a star on GitHub for the sheer audacity of the idea and the clean execution.
—
Follow us for more cool projects: @githubprojects