Repolode
dockur

dockur/windows

Runs Windows inside a Docker container with automatic download and unattended installation, accessed through a browser or RDP.

Open-source alternative to:Parallels DesktopVMware Workstation

Stars
53,662
Forks
5,025
Open issues
15
Last commit
13 days ago

What is it?

dockur/windows packages a full Windows virtual machine inside a Docker container. On first start it downloads the selected Windows edition and installs it without manual steps. The desktop is reachable through a web viewer on port 8006, and once installation finishes, Microsoft Remote Desktop or any RDP client can connect for a smoother experience with clipboard sharing.

The container requires KVM acceleration, so it runs on a Linux host with /dev/kvm, or on Windows 11 with nested virtualization enabled. Supported versions range from Windows 95 and XP through Windows 10, 11, and Server 2003 to 2025, plus Tiny11 and ReactOS. CPU, RAM, disk size, language, and keyboard layout are configured through environment variables.

Networking can use the default bridge, or a macvlan network so Windows gets its own IP address, optionally from a DHCP server. Host folders can be shared with the guest, and USB devices and disks can be passed through.

Key features

  • 01Automatically downloads and installs Windows without manual steps.
  • 02Supports Windows 95 through Windows 11 and Server 2003 through 2025.
  • 03Uses KVM acceleration on Linux hosts.
  • 04Configurable CPU, RAM, and disk size via environment variables.
  • 05Offers NAT, macvlan, and DHCP-based networking.
  • 06Shares host folders and passes through USB devices and disks.

Use cases

  • Running a legacy Windows application that needs an older OS inside a container.
  • Spinning up disposable Windows test environments in CI or on a development server.
  • Accessing a Windows desktop from Linux for software that has no native port.
  • Hosting Windows Server versions for testing on a home lab.

Quick start

  1. 1

    Install Docker or Podman on a Linux host with KVM support

  2. 2

    Start the Windows container 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
  3. 3

    Open http://127.0.0.1:8006 in your browser and wait for the automatic installation to finish

Things to know

  • Requires a Linux host with KVM support; Docker Desktop on Linux, macOS, and Windows 10 is not supported.
  • Needs at least 2 GB RAM and 32 GB free disk space, and downloads large Windows images.

Topics

FAQ

What is windows?
Runs Windows inside a Docker container with automatic download and unattended installation, accessed through a browser or RDP. dockur/windows packages a full Windows virtual machine inside a Docker container. On first start it downloads the selected Windows edition and installs it without manual steps. The desktop is reachable through a web viewer on port 8006, and once installation finishes, Microsoft Remote Desktop or any RDP client can connect for a smoother experience with clipboard sharing.
Is windows free to use? What license does it have?
windows is open source under the MIT license. Check the license terms before using it in commercial products.
Is windows still maintained?
Actively maintained. The last commit to windows was on Oct 8, 2026.
What can I use windows for?
Running a legacy Windows application that needs an older OS inside a container. Spinning up disposable Windows test environments in CI or on a development server. Accessing a Windows desktop from Linux for software that has no native port. Hosting Windows Server versions for testing on a home lab.
How do I install windows?
Install Docker or Podman on a Linux host with KVM support Start the Windows container 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 Open http://127.0.0.1:8006 in your browser and wait for the automatic installation to finish
Where can I get windows?
The source code and installation instructions are on GitHub: https://github.com/dockur/windows

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects