Skip to content

dockur/windows

Runs full Windows inside a Docker container, with a browser-based viewer and automatic install.dockur/windows

Stars
54k
Forks
5.1k
Licence
MIT
Language
Shell
Last update
29 days ago
Type
Dev tool

What it is

dockur/windows packages a Windows virtual machine inside a Docker container. It downloads a Windows edition for you, installs it automatically, and lets you view the desktop in a web browser or connect with a Remote Desktop client. It needs a Linux host with KVM virtualization support.

  • Start a Windows 11 container with a single docker run or Compose file and connect through port 8006 in a browser
  • Choose a specific edition or version, such as Windows Server 2022 or Windows 10 LTSC, using the VERSION variable
  • Share a host folder with the Windows desktop through a bind mount
  • Connect over RDP with a Microsoft Remote Desktop client once installation finishes

Great for

  • People who need a Windows environment on a Linux server or PC without installing Windows directly
  • Developers testing software on different Windows versions
  • Users who want to run legacy Windows releases such as XP or 98 in a container
  • Anyone who already uses Docker Compose and wants Windows managed the same way

Not ideal for

  • Machines without KVM support, since the README says Docker Desktop on Linux, macOS, and Windows 10 does not provide KVM access to containers
  • Systems with less than 2 GB of free RAM or 32 GB of free disk space, which are listed as minimums
  • Users who need ARM64 Windows; the README points to a separate project, dockur/windows-arm, for that
Step-by-step guide: how to use dockur/windowsInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Run with Docker

    You'll need: Docker or Podman on a Linux host with KVM support · At least 2 GB of available RAM · At least 32 GB of free disk space

    Run Windows 11 with Docker CLI

    docker run -it --rm --name windows -e "VERSION=11" -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v "${PWD:-.}/windows:/storage" --stop-timeout 120 docker.io/dockurr/windows
  2. 2

    Run it

    • Start the container using the command above or the Docker Compose example in the README
    • Open http://127.0.0.1:8006 in your web browser
    • Wait for the automatic installation to finish until you see the Windows desktop
    • Optionally connect with an RDP client using the default username Docker and password admin
  3. 3

    Get the most out of it

    • Set RAM_SIZE and CPU_CORES to match your hardware, since the default is 4 GB and 2 cores
    • Use DISK_SIZE to make the virtual disk larger than the 64 GB default
    • Enable AUDIO set to Y and turn on Audio in the web viewer settings to hear sound
    • Use the Shared folder bind mount to exchange files between host and guest
    • Set USERNAME and PASSWORD to replace the default credentials

Downloads

Strengths

  • Installation is automated, and the README describes it as hands-free after the container starts
  • Supports many Windows releases, from Windows 95 through Windows 11 and Server 2025, according to the version table
  • Configuration is done through environment variables and volumes in a standard Docker Compose file

Trade-offs

  • Requires KVM hardware virtualization, so it will not run on many desktop setups such as Docker Desktop on macOS
  • Downloads are large, from about 0.1 GB to 7.9 GB depending on version, and the default disk is 64 GB
  • The README states the web viewer is less responsive than RDP and lacks clipboard sharing

How it compares

ProjectStarsTypeLevelUpdatedBest for
windows (this)54kDev toolintermediate29 days agoPeople who need a Windows environment on a Linux server or PC without installing Windows directly
winboat23.3kAppintermediate1 months agoLinux users who need a specific Windows-only application for occasional use
quickemu16.6kDev toolbeginner7 days agoPeople who want to try a Linux distribution without manual QEMU configuration
macos21.7kDev toolintermediate29 days agoDevelopers who need to test software on macOS from a Linux machine
laradock12.7kDev toolintermediate6 days agoPHP developers who want a consistent local environment across Linux, macOS and Windows
dozzle14.8kAppbeginner4 days agoDevelopers who want to watch container logs while debugging

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.