Windows in a Docker container.
Find a file
2024-01-14 17:16:02 +01:00
.github Add files via upload 2024-01-14 17:15:14 +01:00
src fix: Shebang 2024-01-14 16:39:24 +01:00
.dockerignore build: Initial Dockerfile (#3) 2024-01-14 14:41:19 +01:00
.gitignore build: Initial Dockerfile (#3) 2024-01-14 14:41:19 +01:00
docker-compose.yml Create docker-compose.yml 2024-01-14 17:16:02 +01:00
Dockerfile feat: Add curl 2024-01-14 16:40:53 +01:00
readme.md Create readme.md 2024-01-14 17:02:53 +01:00

Windows for Docker

Build Version Size Pulls

Windows in a docker container.

Features

  • Multi-platform
  • KVM acceleration

Usage

Via docker-compose.yml

version: "3"
services:
  windows:
    container_name: windows
    image: dockurr/windows:latest
    environment:
      VERSION: "win11x64"
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
    stop_grace_period: 2m
    restart: unless-stopped

Via docker run

docker run -it --rm -e "VERSION=win11x64" -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN dockurr/windows:latest

FAQ

  • How do I specify the Windows version?

    You can modify the VERSION environment variable to specify the version you want:

    environment:
      VERSION: "win11x64"
    

    Select from the values below:

    • win11x64 (Windows 11)
    • win10x64 (Windows 10)
    • win81x64 (Windows 8.1)
    • win7x64-ultimate (Windows 7 )
    • win2016-eval (Windows Server 2016)
    • win2019-eval (Windows Server 2019)
    • win2022-eval (Windows Server 2022)
  • How do I see the screen?

    The container includes a web-based viewer, so you can visit http://localhost:8006/ using any webbrowser to view the screen and interact with Windows via the keyboard/mouse.

    Alternatively it is also possible to connect to port 5900 using a VNC client like RealVNC or many others.

  • How do I increase the amount of CPU or RAM?

    By default, a single core and 4 GB of RAM are allocated to the container.

    To increase this, add the following environment variables:

    environment:
      RAM_SIZE: "8G"
      CPU_CORES: "4"
    
  • How do I change the size of the data disk?

    To expand the default size of 64 GB, add the DISK_SIZE setting to your compose file and set it to your preferred capacity:

    environment:
      DISK_SIZE: "128G"
    

    This can also be used to resize the existing disk to a larger capacity without any data loss.

  • How do I change the location of the data disk?

    To change the location of the data disk, include the following bind mount in your compose file:

    volumes:
      - /var/win:/storage
    

    Replace the example path /var/win with the desired storage folder.

  • How do I verify if my system supports KVM?

    To verify if your system supports KVM, run the following commands:

    sudo apt install cpu-checker
    sudo kvm-ok
    

    If you receive an error from kvm-ok indicating that KVM acceleration can't be used, check the virtualization settings in the BIOS.