dockur /windows

Windows inside a Docker container.

★ 54,147⑂ 5,134👁 248⑃ 1,134● 1,055▤ 128◈ 0
ShellMITCreated 2024-01-14
54,147
stars
+9
5,134
forks
248
watchers
1,134
prs
1,055
issues
128
releases
0
discussions

README

Windows





[![Build]][build_url]
[![Version]][tag_url]
[![Size]][tag_url]
[![Package]][pkg_url]
[![Pulls]][hub_url]



Windows inside a Docker container.

 Features ✨

- Runs Windows inside a Docker container
- Automatic download and hands-free installation
- Supports modern and legacy Windows releases
- Near-native performance with KVM acceleration
- Customizable CPU, memory, and storage allocation
- Dynamic memory allocation with memory ballooning
- USB passthrough and host folder sharing
- Supports NAT, user-mode, macvlan, and macvtap networking

 Video 📺



 Usage 🐳

 Docker Compose:

yaml
services:
  windows:
    image: dockurr/windows
    container_name: windows
    environment:
      VERSION: "11"
    devices:
      - /dev/kvm
      - /dev/net/tun
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    volumes:
      - ./windows:/storage
    restart: always
    stop_grace_period: 2m


 Docker CLI:

bash
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


 Kubernetes:

shell
kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/master/kubernetes.yml


 Desktop applications

For a complete graphical desktop experience, see WinBoat, WinPodX, or WinApps. Each of these projects uses this container as its backend.

 GitHub Codespaces:



 Requirements ⚙️

- Docker or Podman on a Linux host with KVM support.
- Docker Desktop or Podman (Desktop) on Windows 11 with nested virtualization enabled.
- At least 2 GB of available RAM.
- At least 32 GB of free disk space.

 [!NOTE]
 Docker Desktop on Linux, macOS, and Windows 10 does not currently provide KVM access to containers and is therefore not supported.

 FAQ 💬

 How do I use it?

  Very simple! These are the steps:
  
  - Start the container and connect to port 8006 using your web browser.

  - Sit back and relax while the magic happens, the whole installation will be performed fully automatically.

  - Once you see the desktop, your Windows installation is ready for use.
  
  Enjoy your brand new machine, and don't forget to star this repo!

 How do I select the Windows version?

  By default, Windows 11 Pro will be installed. But you can add the VERSION environment variable to your compose file, in order to specify an alternative Windows version to be downloaded:

  yaml
  environment:
    VERSION: "10"
  

  Select from the values below:
  
  | Value | Version            | Size |
  |---|---|---|
  | 11   | Windows 11 Pro            | 7.9 GB   |
  | 11l  | Windows 11 LTSC           | 4.7 GB   |
  | 11e  | Windows 11 Enterprise     | 6.6 GB   |
  ||||
  | 10   | Windows 10 Pro            | 5.7 GB   |
  | 10l  | Windows 10 LTSC           | 4.6 GB   |
  | 10e  | Windows 10 Enterprise     | 5.2 GB   |
  ||||
  | 8e   | Windows 8.1 Enterprise    | 3.7 GB   |
  | 7u   | Window

Top issues

Latest release

v6.06 v6.06 2026-10-05
What's Changed
 docs: Environment variables by @kroese in https://github.com/dockur/windows/pull/2180
 build: Update QEMU base image to v7.49 by @renovate[bot] in https://github.com/dockur/windows/pull/2181
 feat: Support GPU acceleration via Helios by @kroese in https://github.com/dockur/windows/pull/2183
 build: Copy udfread binary from Docker image by @kroese in https://github.com/dockur/windows/pull/2184
 fix: Exclude bundled QEMU binary from base image by @kroese in https://github.com/dockur/windows/pull/2185
 feat: Reduce XP and 2003 recovery menu timeout by @kroese in https://github.com

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON