explaingit

dockur/windows

🔥 Hot51,410ShellAudience · developerComplexity · 3/5ActiveLicenseSetup · hard

TLDR

Run a full Windows operating system inside a Docker container on Linux, with automatic installation and browser or Remote Desktop access.

Mindmap

mindmap
  root((repo))
    What it does
      Windows in Docker
      Auto-installs ISO
      KVM virtualization
    Access methods
      Web browser viewer
      Remote Desktop
    Configuration
      Environment variables
      RAM, CPU, disk
      Language, keyboard
    Use cases
      Test Windows software
      Run automation tasks
      Disposable sandbox
    Tech stack
      Shell scripting
      Docker, Kubernetes
      KVM, Linux kernel

Things people build with this

USE CASE 1

Test Windows-only software and applications on a Linux server without a dedicated Windows machine.

USE CASE 2

Run Windows automation tasks and scripts in a containerized environment that can be instantly destroyed and recreated.

USE CASE 3

Provide a disposable Windows sandbox for development or testing that doesn't require maintaining physical hardware or expensive cloud instances.

Tech stack

ShellDockerKVMKubernetes

Getting it running

Difficulty · hard Time to first run · 1h+

Requires Docker, KVM nested virtualization support, and significant disk/memory resources to run a full Windows OS.

Use freely for any purpose including commercial, as long as you keep the copyright notice.

In plain English

This project lets you run a full Windows operating system inside a Docker container, which is a lightweight software package that normally runs Linux-based applications. In plain terms, it turns Windows into just another containerized app you can spin up on a Linux server or developer machine, without needing a separate physical PC or a traditional virtual machine setup tool like VirtualBox or VMware. Under the hood, the container uses KVM, a Linux kernel feature that provides fast hardware-level virtualization, meaning Windows runs at near-native speed. When you start the container, it automatically downloads the Windows ISO image you specify, installs it without any manual clicking, and exposes two ways to interact with it: a web browser viewer on port 8006 (so you can see and use Windows from any browser), and a standard Remote Desktop Protocol connection on port 3389. You can pick from a wide range of Windows versions, from Windows XP all the way up to Windows 11 and Windows Server 2025, just by setting a single environment variable. You would reach for this when you need a Windows environment on a Linux host, for example to test Windows-only software, run automation tasks, or provide a disposable Windows sandbox that can be destroyed and recreated instantly. Developers and system administrators use it to avoid maintaining a dedicated Windows machine or paying for cloud Windows instances. Configuration is entirely done through environment variables in a Docker Compose file, covering RAM, CPU cores, disk size, language, keyboard layout, and user credentials. The tech stack is Shell scripting for the container orchestration logic, with Docker (and optionally Kubernetes) as the runtime environment.

Copy-paste prompts

Prompt 1
How do I set up Windows 11 in a Docker container using this project? Show me the docker-compose configuration.
Prompt 2
I need to run a Windows application on my Linux server. Walk me through using this repo to create a Windows container with Remote Desktop access.
Prompt 3
How do I configure RAM, CPU cores, and disk size for the Windows container? What environment variables do I need to set?
Prompt 4
Can I access the Windows container from my browser instead of using Remote Desktop? How does the web viewer on port 8006 work?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.