Running Windows 11 in Docker on a ZimaBoard
Recently, I explored a fascinating way to run Windows 11 directly within a Docker container on my ZimaBoard. This setup uses the dockurr/windows
Docker image, which makes it surprisingly simple to virtualize a full version of Windows for testing purposes.
Setting Up Windows 11 on Docker
To set up Windows 11 in Docker, you will need to create a docker-compose.yml
file with the following configuration:
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:
- /data/windows11_data:/storage
stop_grace_period: 2m
Key Steps to Prepare:
- Create the Storage Folder:
mkdir -p /data/windows11_data
- Deploy the Container:
docker-compose up -d
This setup will pull the Windows 11 ISO directly from Microsoft servers and begin the installation within the container.
Versions Available
You can specify different versions by changing the VERSION
parameter in the docker-compose.yml
file. Here are the available versions:
11
– Windows 11 Pro (5.4 GB)11l
– Windows 11 LTSC (4.2 GB)11e
– Windows 11 Enterprise (5.8 GB)10
– Windows 10 Pro (5.7 GB)10l
– Windows 10 LTSC (4.6 GB)10e
– Windows 10 Enterprise (5.2 GB)- And many more, including Windows Server versions.
Accessing Windows 11 in the Browser
You can view and interact with the Windows 11 installation in a web browser using the following link:
http://192.168.0.215:8006/?resize=scale&reconnect=true&autoconnect=true
Alternatively, you can use Remote Desktop (mstsc) to connect to the container via port 3389.
Persistent Storage and Licensing
- Storage: The
/data/windows11_data
volume ensures persistent storage, meaning you can install software and perform tests. - License: A valid Windows license key is still required for activation.
Important Note About Updates
The Windows installation is based on an ISO downloaded during the initial setup. Therefore, updating the container image itself will not update Windows. To receive the latest version, you would need to delete the persistent storage and reinstall the container.
My Experience and Recommendation
I tested this setup on my ZimaBoard, and while it worked, the performance was limited due to the hardware constraints. For a smoother experience, I recommend running Windows 11 on a more powerful Proxmox server with direct virtualization support.
This method of running Windows in Docker provides an interesting alternative for temporary tests, development environments, and isolated Windows instances. It’s great to see how flexible Docker has become, even for complex operating systems like Windows.
Stay tuned for more experiments and technical insights on my homepage!