dockur / windows-arm Goto Github PK
View Code? Open in Web Editor NEWWindows for ARM in a Docker container.
License: MIT License
Windows for ARM in a Docker container.
License: MIT License
I want to run this on my Oracle Arm64 4c24g ubuntu22.04, below is my docker-compose.yml.
version: "3"
services:
windows:
container_name: windows
image: dockurr/windows-arm
privileged: true
environment:
VERSION: "win10"
RAM_SIZE: "8G"
CPU_CORES: "2"
devices:
- /dev/kvm
cap_add:
- NET_ADMIN
ports:
- 172.17.0.1:28006:8006
- 23389:3389/tcp
- 23389:3389/udp
volumes:
- ./win:/storage
- ./shared:/shared
stop_grace_period: 2m
restart: always
docker logs -f windows:
❯ For support visit https://github.com/dockur/windows-arm
❯ CPU: Neoverse N1 | RAM: 21/24 GB | DISK: 144 GB (ext4) | HOST: 6.5.0-1021-oracle...
❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.
❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).
❯ Starting Windows for Docker v2.03...
❯ For support visit https://github.com/dockur/windows-arm
❯ CPU: Neoverse N1 | RAM: 21/24 GB | DISK: 144 GB (ext4) | HOST: 6.5.0-1021-oracle...
❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.
❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).
❯ Starting Windows for Docker v2.03...
❯ For support visit https://github.com/dockur/windows-arm
❯ CPU: Neoverse N1 | RAM: 21/24 GB | DISK: 144 GB (ext4) | HOST: 6.5.0-1021-oracle...
❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.
❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).
❯ Starting Windows for Docker v2.03...
❯ For support visit https://github.com/dockur/windows-arm
❯ CPU: Neoverse N1 | RAM: 21/24 GB | DISK: 144 GB (ext4) | HOST: 6.5.0-1021-oracle...
❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.
❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).
How to support /dev/kvm on it?
I get the following error, when trying to run the container: ERROR: Failed to create bridge. Please add the following setting to your container: --cap-add NET_ADMIN
I've found out that I need to add the relevant command in the container.yaml file. If that is the solution, please can someone explain how I can do this because I am a newbie with Docker.
Ubuntu 23.10
Pull the windows arm64 image on Docker hub, and run a container from it. It initializes and downloads resources successfully and the container starting automatically. The problem is there is no system window, and connecting to 8006 could also not work with cannot establish a connection. During the process, the display blackout several times so maybe it fails to start the screen. I am using it to install the Azure Kinect SDK therefore it also has problem. I use a docker exec to enter into the container. Maybe I am wrong at some steps, appreciate any instructions. Besides, thanks to the arm64 image you provide.
sudo docker run -it --privileged --device=/dev/kvm dockurr/windows-arm /bin/bash
❯ Starting Windows for Docker v2.10...
❯ For support visit https://github.com/dockur/windows-arm
❯ CPU: Cortex A76 | RAM: 4/8 GB | DISK: 96 GB (ext4) | HOST: 6.5.0-1017-raspi...
❯ Downloading product information from Microsoft server...
❯ Downloading Windows 11...
/storage/tmp/win11arm64.esd 100%[=====================================================>] 4.88G 25.7MB/s in 3m 53s
❯ Extracting Windows 11 bootdisk...
❯ Extracting Windows 11 environment...
❯ Extracting Windows 11 setup...
❯ Extracting Windows 11 image...
❯ Adding drivers to image...
❯ Adding win11arm64.xml for automatic installation...
❯ Building Windows 11 image...
❯ Creating a 64G growable disk image in raw format...
❯ Warning: your configured RAM_SIZE of 4 GB is very close to the 4 GB of memory available, please consider a lower value.
❯ Booting Windows using QEMU v8.2.4...
BdsDxe: failed to load Boot0002 "UEFI QEMU QEMU HARDDISK " from PciRoot(0x0)/Pci(0xA,0x0)/Scsi(0x0,0x0): Not Found
BdsDxe: loading Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x5,0x0)/Scsi(0x0,0x0)
BdsDxe: starting Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x5,0x0)/Scsi(0x0,0x0)
❯ Windows started succesfully, visit http://localhost:8006/ to view the screen...
UEFI firmware (version 2024.02-2 built at 14:25:33 on Mar 11 2024)
BdsDxe: loading Boot0004 "Windows Boot Manager" from HD(1,GPT,2592B0E6-28E2-4154-9CB5-0B6AF2064F30,0x800,0x40000)/\EFI\Microsoft\Boot\bootmgfw.efi
BdsDxe: starting Boot0004 "Windows Boot Manager" from HD(1,GPT,2592B0E6-28E2-4154-9CB5-0B6AF2064F30,0x800,0x40000)/\EFI\Microsoft\Boot\bootmgfw.efi
UEFI firmware (version 2024.02-2 built at 14:25:33 on Mar 11 2024)
BdsDxe: loading Boot0004 "Windows Boot Manager" from HD(1,GPT,2592B0E6-28E2-4154-9CB5-0B6AF2064F30,0x800,0x40000)/\EFI\Microsoft\Boot\bootmgfw.efi
BdsDxe: starting Boot0004 "Windows Boot Manager" from HD(1,GPT,2592B0E6-28E2-4154-9CB5-0B6AF2064F30,0x800,0x40000)/\EFI\Microsoft\Boot\bootmgfw.efi
Apple M1 Pro, 16GB Ram
Asahi Linux Fedora Remix 40
podman version 5.0.2
when trying to run a windows vm using podman I get the following error: ERROR: TUN device missing. Please add the following setting to your container: --device /dev/net/tun --cap-add
commands used:
podman run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm
podman run -it --rm --name windows -p 8006:8006 --device=/dev/net/tun --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm
N/A
I use the docker command line provided by this project on my ARM server, and the system prompts "Error response from daemon: error gathering device information while adding custom device "/dev/kvm": no such file or directory."
Then I used the "cpu-checker" command to query and it showed "FATAL: Module msr not found in directory /lib/modules/6.2.0-39-generic". So is it because my server does not support KVM?
When I added configuration to Docker Compose.yml to modify RAM and CPU, there was a startup error, whether it was the first creation or modification after creation.
environment:
VERSION: "win11"
RAM_SIZE: "4G"
CPU_CORES: "4"
root@orangepi5:/root/win# docker-compose up
[+] Building 0.0s (0/0) docker:default
[+] Running 1/1
✔ Container windows Recreated 0.2s
Attaching to windows
windows | ❯ Starting Windows for Docker v1.08...
windows | ❯ For support visit https://github.com/dockur/windows-arm
windows |
windows | ❯ Booting Windows using QEMU emulator version 8.2.1 ...
windows | ❯ ERROR: qemu-system-aarch64: Failed to put registers after init: Invalid argument
windows exited with code 0
If the default configuration is used, there will be no errors.
exec "docker-compose up" on mac OS with m1 chip, then show the follow error:
Error response from daemon: error gathering device information while adding custom device "/dev/kvm": no such file or directory
can i run it on my mac?
Debian 12 on Orange Pi 5 Plus
When starting docker I see the following error and it dies.
[···]
windows | ❯ Booting Windows using QEMU v8.2.4...
windows | ❯ ERROR: Timeout while waiting for QEMU to boot the machine!
windows | qemu-system-aarch64: terminating on signal 15 from pid 203 (bash)
windows | ❯ Shutdown completed!
windows exited with code 0
I was following the #37 issue but could not get past this timeout. however since version 2.09 it now dies after giving timeout. before it would hang with some CPU usage.
version: '3.8'
services:
windows:
image: dockurr/windows-arm:2.10
container_name: windows
environment:
VERSION: "win11"
KEYBOARD: "es-ES"
KVM: "Y"
DEBUG: "Y"
CPU_CORES: "2"
RAM_SIZE: "4G"
CPU_TASK_SET: "0,1,2,3"
devices:
- /dev/kvm
volumes:
- ./storage2:/storage
- ./iso/win11arm64.iso:/custom.iso
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
- 5901-5909:5901-5909
stop_grace_period: 2m
networks:
- windows
networks:
windows:
name: windows
ipam:
config:
- subnet: '172.17.12.0/24'
windows | ❯ Starting Windows for Docker v2.10...
windows | ❯ For support visit https://github.com/dockur/windows-arm
windows | ❯ CPU: Cortex A55 | RAM: 9/16 GB | DISK: 206 GB (ext4) | HOST: 5.10.110-rockchip-rk3588...
windows |
windows | ❯ Host: 0bf665e41008 IP: 172.17.12.2 Gateway: 172.17.12.1 Interface: eth0 MAC: 02:D0:B1:0D:0B:02
windows | nameserver 127.0.0.11
windows |
windows | ++ /usr/sbin/dnsmasq --dhcp-range=20.20.20.21,20.20.20.21 --dhcp-host=02:D0:B1:0D:0B:02,,20.20.20.21,QEMU,infinite --dhcp-option=option:netmask,255.255.255.0 --dhcp-option=option:dns-server,20.20.20.1 --dhcp-option=option:router,20.20.20.1 --address=/host.lan/20.20.20.1
windows |
windows | Arguments:
windows |
windows | -nodefaults
windows | -cpu host
windows | -smp 2,sockets=1,dies=1,cores=2,threads=1
windows | -m 4G
windows | -machine type=virt,secure=off,dump-guest-core=off,accel=kvm
windows | -enable-kvm
windows | -display vnc=:0,websocket=5700
windows | -device virtio-gpu
windows | -monitor telnet:localhost:7100,server,nowait,nodelay
windows | -daemonize
windows | -D /run/shm/qemu.log
windows | -pidfile /run/shm/qemu.pid
windows | -name windows,process=windows,debug-threads=on
windows | -serial pty
windows | -device qemu-xhci,id=xhci
windows | -device usb-kbd
windows | -device usb-tablet
windows | -netdev tap,ifname=qemu,script=no,downscript=no,id=hostnet0
windows | -device virtio-net-pci,romfile=,netdev=hostnet0,mac=02:D0:B1:0D:0B:02,id=net0
windows | -drive file=/storage/windows.5916098560.iso,id=cdrom0,format=raw,readonly=on,media=cdrom,if=none
windows | -device virtio-scsi-pci,id=cdrom0b,bus=pcie.0,addr=0x5,iothread=io2
windows | -device scsi-cd,drive=cdrom0,bus=cdrom0b.0,bootindex=10
windows | -drive file=/storage/data.img,id=data3,format=raw,cache=none,aio=native,discard=on,detect-zeroes=on,if=none
windows | -device virtio-scsi-pci,id=data3b,bus=pcie.0,addr=0xa,iothread=io2
windows | -device scsi-hd,drive=data3,bus=data3b.0,channel=0,scsi-id=0,lun=0,rotation_rate=1,bootindex=3
windows | -object iothread,id=io2
windows | -rtc base=localtime
windows | -drive file=/storage/windows.rom,if=pflash,unit=0,format=raw,readonly=on
windows | -drive file=/storage/windows.vars,if=pflash,unit=1,format=raw
windows | -object rng-random,id=objrng0,filename=/dev/urandom
windows | -device virtio-rng-pci,rng=objrng0,id=rng0,bus=pcie.0,addr=0x1c
windows | ❯ Booting Windows using QEMU v8.2.4...
windows | ❯ ERROR: Timeout while waiting for QEMU to boot the machine!
windows | qemu-system-aarch64: terminating on signal 15 from pid 203 (bash)
windows | ❯ Shutdown completed!
windows exited with code 0
No response
Hello.
I'm trying to install on the orange pi 3b. Running casaOs. But it is showing the following error:
windows | ❯ Starting Windows for Docker v1.10...
windows | ❯ For support visit https://github.com/dockur/windows-arm
windows |
windows | �[1;31m❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.�[0m
windows | �[1;31m❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).�[0m
This error occurs after unzipping the windows11 image.
Previously, I tried to install the x64 version (I thought it was this version) and it just shows great slowness, but Windows actually goes to the installation part.
I ran sudo kvm-ok and it showed no errors.
windows | ❯ Starting Windows for Docker v1.10...
windows | ❯ For support visit https://github.com/dockur/windows-arm
windows |
windows | �[1;34m❯ �[1;36mDownloading product information from Microsoft...�[0m
windows | �[1;34m❯ �[1;36mDownloading Windows 11 for ARM...�[0m
windows |
windows | 0K ........ ........ ........ ........ 0% 22.7M 3m38s
windows | 5079040K ........ ........ ........ ........ 99% 31.9M 0s
windows | 5111808K ....... 100% 25.0M=3m2s
windows |
windows | �[1;34m❯ �[1;36mExtracting Windows 11 for ARM bootdisk...�[0m
windows | �[1;34m❯ �[1;36mExtracting Windows 11 for ARM environment...�[0m
windows | �[1;34m❯ �[1;36mExtracting Windows 11 for ARM setup...�[0m
windows | �[1;34m❯ �[1;36mExtracting Windows 11 for ARM image...�[0m
windows | �[1;34m❯ �[1;36mAdding XML file for automatic installation...�[0m
windows | �[1;34m❯ �[1;36mBuilding Windows 11 for ARM image...�[0m
windows | �[1;34m❯ �[1;36mCreating a 64G growable disk image in raw format...�[0m
windows | �[1;31m❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.�[0m
windows | �[1;31m❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).�[0m
windows | ❯ Starting Windows for Docker v1.10...
windows | ❯ For support visit https://github.com/dockur/windows-arm
windows |
windows | �[1;31m❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.�[0m
windows | �[1;31m❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).�[0m
windows | ❯ Starting Windows for Docker v1.10...
windows | ❯ For support visit https://github.com/dockur/windows-arm
windows |
windows | �[1;31m❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.�[0m
windows | �[1;31m❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).�[0m
windows | ❯ Starting Windows for Docker v1.10...
windows | ❯ For support visit https://github.com/dockur/windows-arm
Kylin-V10-SP3
Encountering the “Display output is not active” issue, how can it be resolved?
Nested virtualization is not supported
KVM: N
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Authorized users only. All activities may be monitored and reported.
WARNING! The remote SSH server rejected X11 forwarding request.
Authorized users only. All activities may be monitored and reported.
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Tue Jul 2 13:36:50 2024 from 192.168.100.95
[root@aaaa ~]# uname -a
Linux aaaa 4.19.90-52.38.v2207.ky10.aarch64 #4 SMP Wed May 8 19:16:35 CST 2024 aarch64 aarch64 aarch64 GNU/Linux
[root@aaaa ~]# lscpu
Architecture: aarch64
CPU op-mode(s): 64-bit
Byte Order: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
Thread(s) per core: 1
Core(s) per socket: 8
Socket(s): 2
NUMA node(s): 1
Vendor ID: HiSilicon
Model: 0
Model name: Kunpeng-920
Stepping: 0x1
CPU max MHz: 2600.0000
CPU min MHz: 2600.0000
BogoMIPS: 200.00
L1d cache: 1 MiB
L1i cache: 1 MiB
L2 cache: 8 MiB
L3 cache: 64 MiB
NUMA node0 CPU(s): 0-15
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Retbleed: Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm ssbs
[root@aaaa ~]# cat /etc/kylin-release
Kylin Linux Advanced Server release V10 (Lance)
services:
windows:
image: dockurr/windows-arm:2.11
container_name: wis
privileged: true
cap_add:
- NET_ADMIN
volumes:
- ./data:/storage
environment:
KVM: N
CPU_CORES: "12"
RAM_SIZE: "32G"
DISK_SIZE: "128G"
devices:
- /dev/kvm
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
stop_grace_period: 2m
restart: on-failure
[root@aaaa 01.wis]# docker-compose up
[+] Running 1/0
✔ Container wis Created 0.0s
Attaching to wis
wis | ❯ Starting Windows for Docker v2.11...
wis | ❯ For support visit https://github.com/dockur/windows-arm
wis | ❯ CPU: TaiShan v110 | RAM: 49/63 GB | DISK: 479 GB (xfs) | HOST: 4.19.90-52.38.v2207.ky10.aarch64...
wis |
wis | ❯ Booting Windows using QEMU v8.2.4...
wis | UEFI firmware (version 2024.05-1 built at 16:56:31 on Jun 4 2024)
wis |
BdsDxe: failed to load Boot0002 "UEFI QEMU QEMU HARDDISK " from PciRoot(0x0)/Pci(0xA,0x0)/Scsi(0x0,0x0): Not Found
wis | BdsDxe: loading Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x5,0x0)/Scsi(0x0,0x0)
wis | BdsDxe: starting Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x5,0x0)/Scsi(0x0,0x0)
wis |
Loading files...
lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
Loading files...
llllll ❯ Windows started succesfully, visit http://localhost:8006/ to view the screen...
$ sudo kvm-ok
INFO: /dev/kvm does not exist
HINT: sudo modprobe kvm
modprobe: FATAL: Module msr not found in directory /lib/modules/6.5.0-1019-oracle
I finished my docker compose with this configuration:
version: "3"
services:
windows:
container_name: windows
image: dockurr/windows-arm
devices:
- /dev/tty1
volumes:
- /var/win:/storage
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
stop_grace_period: 2m
restart: on-failure
environment:
RAM_SIZE: "4G"
CPU_CORES: "2"
DISK_SIZE: "25G"
VERSION: "win10"
networks:
- net-windows
networks:
net-windows:
driver: bridge
I'm not user /dev/kvm caused my macbook not support it, I used /dev/tty1.
but, during download file to microsofr server, I found error like this:
ERROR: Failed to download http://dl.delivery.mp.microsoft.com/filestreamingservice/files/0796d7b4-b59c-4aac-9b29-64666728c3e3/19045.3803.231204-0204.22h2_release_svc_refresh_CLIENTCONSUMER_RET_A64FRE_en-us.esd , reason: 3
services:
windows:
container_name: windows
image: dockurr/windows-arm
#devices:
#- /dev/kvm
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
environment:
- RAM_SIZE="2G"
- CPU_CORES="2"
- DISK_SIZE="45G"
volumes:
- "/path/to/my/data/folder:/storage"
stop_grace_period: 2m
restart: unless-stopped
It attempts to download the .esd file but errors out and restarts the download. Error is:
ERROR: Not enough free space in /storage, have 9 GB available but need at least 15 GB.
The path to my /storage is a 1TB drive. Why would such an error be thrown up?
ERROR: Status 1 while: ip tuntap add dev "$VM_NET_TAP" mode tap (line 163/295)
root@orangepi5:~# docker run -it --rm -p 8007:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm
❯ Starting Windows for Docker v1.07...
❯ For support visit https://github.com/dockur/windows-arm
❯ Downloading product information from Microsoft...
❯ Downloading Windows 11 for ARM...
/storage/tmp/win11arm64.esd 100%[=================================================>] 4.88G 7.99MB/s in 10m 48s
❯ Extracting Windows 11 for ARM bootdisk...
❯ Extracting Windows 11 for ARM environment...
❯ Extracting Windows 11 for ARM setup...
❯ Extracting Windows 11 for ARM image...
❯ Adding XML file for automatic installation...
❯ Building Windows 11 for ARM image...
❯ Creating a 64G growable disk image in raw format...
open: No such device
❯ ERROR: Status 1 while: ip tuntap add dev "$VM_NET_TAP" mode tap (line 163/295)
OS:Linux orangepi5 5.10.110-rockchip-rk3588 #1.1.6 SMP Thu Jun 1 21:23:54 CST 2023 aarch64 GNU/Linux(debian12)
I'm just a rookie, I don't know what this is about, I don't know how to do it, thanks.
Ubuntu 18.04
Display output is not activate
version: "3.0"
services:
qemu:
container_name: arm_ubuntu
image: qemux/qemu-arm
environment:
RAM_SIZE: "4G"
CPU_CORES: "4"
DISK_SIZE: "20G"
cap_add:
- NET_ADMIN
volumes:
- /home/files/ubuntu-18.04.6-server-arm64.iso:/storage/boot.iso
devices:
- /dev/kvm
ports:
- 8006:8006
stop_grace_period: 2m
restart: on-failure
no
Hi!
This product very interesting for users who use MacOs M chip ^)
Iam run this command
docker run -it --rm --name windows -p 8006:8006 -e "KVM=N" --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm
and them result
BdsDxe: failed to load Boot0002 "UEFI QEMU QEMU HARDDISK " from PciRoot(0x0)/Pci(0xA,0x0)/Scsi(0x0,0x0): Not Found
2024-03-04 17:06:54 BdsDxe: loading Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x5,0x0)/Scsi(0x0,0x0)
2024-03-04 17:06:54 BdsDxe: starting Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x5,0x0)/Scsi(0x0,0x0)
ubuntu 24.04 arm
I use the command docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1 -o parent=end1 vlan
created docker maclvn network, when I use the command docker compose up ,the container (windows 11 arm) started successful,but I Couldn't access the container from the web http://localhost:8006/, If I delete the networks in docker-compose.yml, I Can access the container from the web http://localhost:8006/ successful, I want to use the RDP to connect the container,can you help me?
services:
windows:
container_name: windows
image: dockurr/windows-arm
environment:
VERSION: "win11"
RAM_SIZE: "8G"
CPU_CORES: "4"
DISK_SIZE: "256G"
devices:
- /dev/kvm
device_cgroup_rules:
- 'c : rwm'
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
stop_grace_period: 2m
restart: on-failure
networks:
vlan:
ipv4_address: 192.168.0.150
networks:
vlan:
external: true
Problem:
❯ Starting Windows for Docker v...
❯ For support visit https://github.com/dockur/windows-arm
RTNETLINK answers: File exists
❯ ERROR: Failed to create bridge. Please add the following setting to your container: --cap-add NET_ADMIN
My Deployment:
apiVersion: apps/v1
kind: Deployment
metadata:
name: windows
spec:
replicas: 1
selector:
matchLabels:
app: windows
template:
metadata:
labels:
app: windows
spec:
containers:
- name: windows
image: dockurr/windows-arm
imagePullPolicy: Always
ports:
- containerPort: 8006
name: http
- containerPort: 3389
name: rdp
resources:
requests:
memory: "400Mi"
cpu: "20m"
limits:
memory: "4Gi"
cpu: "1500m"
securityContext:
privileged: true
capabilities:
add:
- NET_ADMIN
env:
- name: VERSION
value: "win11"
- name: MANUAL
value: "Y"
- name: RAM_SIZE
value: "4G"
- name: CPU_CORES
value: "2"
volumeMounts:
- name: windows-data
mountPath: /storage
restartPolicy: Always
volumes:
- name: windows-data
persistentVolumeClaim:
claimName: windows-data-pvc
Could you make the winxp version available?
This is Docker log
❯ Starting Windows for Docker v1.09...
❯ For support visit https://github.com/dockur/windows-arm
❯ Downloading product information from Microsoft...
❯ Downloading Windows 10 for ARM...
/storage/tmp/win10arm64.esd 77%[==========================================> ] 2.65G 3.02MB/s in 17m 5s
/storage/tmp/win10arm64.esd 100%[+++++++++++++++++++++++++++++++++++++++++++============>] 3.41G 1.34MB/s in 10m 54s
❯ Extracting Windows 10 for ARM bootdisk...
❯ Extracting Windows 10 for ARM environment...
❯ Extracting Windows 10 for ARM setup...
❯ Extracting Windows 10 for ARM image...
❯ Adding XML file for automatic installation...
❯ Building Windows 10 for ARM image...
❯ Creating a 64G growable disk image in raw format...
❯ Booting Windows using QEMU emulator version 8.2.1 ...
❯ ERROR: kvm_arm_vcpu_init failed: Invalid argument
how can i solve this problem?
Kylin-V10-SP3
Kylin Linux Advanced Server release V10 (Lance)
I tried deploying Windows on the following system and encountered an error. Is it a compatibility issue or something else?
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Authorized users only. All activities may be monitored and reported.
WARNING! The remote SSH server rejected X11 forwarding request.
Authorized users only. All activities may be monitored and reported.
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Tue Jul 2 13:36:50 2024 from 192.168.100.95
[root@aaaa ~]# uname -a
Linux aaaa 4.19.90-52.38.v2207.ky10.aarch64 #4 SMP Wed May 8 19:16:35 CST 2024 aarch64 aarch64 aarch64 GNU/Linux
[root@aaaa ~]# lscpu
Architecture: aarch64
CPU op-mode(s): 64-bit
Byte Order: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
Thread(s) per core: 1
Core(s) per socket: 8
Socket(s): 2
NUMA node(s): 1
Vendor ID: HiSilicon
Model: 0
Model name: Kunpeng-920
Stepping: 0x1
CPU max MHz: 2600.0000
CPU min MHz: 2600.0000
BogoMIPS: 200.00
L1d cache: 1 MiB
L1i cache: 1 MiB
L2 cache: 8 MiB
L3 cache: 64 MiB
NUMA node0 CPU(s): 0-15
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Retbleed: Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm ssbs
[root@aaaa ~]# cat /etc/kylin-release
Kylin Linux Advanced Server release V10 (Lance)
services:
windows:
image: dockurr/windows-arm:2.11
container_name: wis
privileged: true
cap_add:
- NET_ADMIN
volumes:
- ./data:/storage
environment:
VERSION: "win10"
CPU_CORES: "8"
RAM_SIZE: "16G"
DISK_SIZE: "128G"
devices:
- /dev/kvm
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
stop_grace_period: 2m
restart: on-failure
[root@aaaa 01.wis]# docker-compose up
WARN[0000] /dmdata/apps/01.wis/docker-compose.yaml: `version` is obsolete
[+] Running 2/0
✔ Container wis Created 0.1s
! windows The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 0.0s
Attaching to wis
wis | Failed to fire hook: Unix syslog delivery error
wis | Failed to write to log, write /dev/null: bad file descriptor
wis | Failed to fire hook: Unix syslog delivery error
wis | Failed to write to log, write /dev/null: bad file descriptor
wis | Failed to fire hook: Unix syslog delivery error
wis | Failed to write to log, write /dev/null: bad file descriptor
wis | Failed to fire hook: Unix syslog delivery error
wis | Failed to write to log, write /dev/null: bad file descriptor
wis | Failed to fire hook: Unix syslog delivery error
wis | Failed to write to log, write /dev/null: bad file descriptor
wis | Failed to fire hook: Unix syslog delivery error
wis | Failed to write to log, write /dev/null: bad file descriptor
wis | standard_init_linux.go:241: exec user process caused "exec format error"
wis | libcontainer: container start initialization failed: standard_init_linux.go:241: exec user process caused "exec format error"
wis exited with code 0
No response
Virtual enviroment from Google cloud
Ubuntu 22.04.4
26.1.1
Tried to install with the cli and got the issue
docker run -it --name windows -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm
I can't copy at the moment
RaspberryPi 5 / 8 GB
Debian 12 (stable)
26.0.1
Using version 1.12 it works but when trying to start 1.14 it fails.
services:
app:
image: dockurr/windows-arm:1.14
volumes:
- ./data/storage:/storage
environment:
- VERSION=win11
- RAM_SIZE=4G
- CPU_CORES=2
- DISK_SIZE=128G
ports:
- 3389:3389
- 3389:3389/udp
restart: on-failure
devices:
- /dev/kvm
stop_grace_period: 2m
cap_add:
- NET_ADMIN
app-1 | ❯ Starting Windows for Docker v1.14...
app-1 | ❯ For support visit https://github.com/dockur/windows-arm
app-1 |
app-1 | reset.sh: line 47: qemu-system-x86_64: command not found
app-1 | ❯ ERROR: Status 127 while: awk '{ print $NF }' (line 47/11)
app-1 | ❯ ERROR: Status 127 while: VERS=$(qemu-system-x86_64 --version | head -n 1 | cut -d '(' -f 1 | awk '{ print $NF }') (line 47/11)
No response
Hello I have tried to add the environment: with RAM and CPU request, and it got compose errors saying can't be added, i found an update for docker that says use this
resources:
limits:
cpus: "4.0" # Adjust as needed
None of these seem to be working as I am running on a P{ineTab2 with 4 CPUs, and it seems locked to just 2 CPUs at the moment.
Can you show an example of where to put it for KVM to translate it? I am not finding any working references.
When I run "docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm:1.13" , it says "docker: Error response from daemon: error gathering device information while adding custom device "/dev/kvm": no such file or directory.".
Any idea about enable kvm or install kvm on Apple Silicon Platform?
254GB
ky10.aarch64
18.09.9
ERROR: qemu: qemu_thread_create: Operation not permitted
ERROR: qemu: qemu_thread_create: Operation not permitted
Macbook Pro M1 Pro chips
MacOS
20.10.23
Hi, I'm trying to install it on my m chips macbook, which don't have kvm.
services:
windows:
container_name: windows
image: dockurr/windows-arm
environment:
VERSION: "win11"
devices:
- /dev/kvm
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
stop_grace_period: 2m
williamli@lizhanghongruis-MacBook-Pro win % docker-compose up -d
[+] Running 1/2
⠿ Network win_default Created 0.0s
⠿ Container windows Starting 0.2s
Error response from daemon: error gathering device information while adding custom device "/dev/kvm": no such file or directory
No response
I installed docker, and Qemu, libvirt, but there is no Kvm ports for MacOS afaik...
And the container stops with the following message:
% docker run -it --rm -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm
Unable to find image 'dockurr/windows-arm:latest' locally
latest: Pulling from dockurr/windows-arm
eed0d719505a: Pull complete
31b07b5697c1: Pull complete
ba02d43f4705: Pull complete
40c62c6cfc08: Pull complete
2d881a14a102: Pull complete
3351de803db4: Pull complete
f243655be2a5: Pull complete
Digest: sha256:5cebed2e21525c4cc425f17c5c706cb69cbfe3d43bc240998ef1c1c6db96bc51
Status: Downloaded newer image for dockurr/windows-arm:latest
docker: Error response from daemon: error gathering device information while adding custom device "/dev/kvm": no such file or directory.
So I removed the following parameter:
--device=/dev/kvm
And then it fails while requiring to start with an option I'm not sure to understand:
% docker run -it --rm -p 8006:8006 --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm
❯ Starting Windows for Docker v1.00...
❯ For support visit https://github.com/dockur/windows-arm
❯ Downloading product information from Microsoft...
❯ Downloading Windows 11 for ARM...
/storage/tmp/win11a 100%[===================>] 4.88G 38.3MB/s in 2m 24s
❯ Extracting Windows 11 for ARM bootdisk...
❯ Extracting Windows 11 for ARM environment...
❯ Extracting Windows 11 for ARM setup...
❯ Extracting Windows 11 for ARM image...
❯ Adding XML file for automatic installation...
❯ Building Windows 11 for ARM image...
❯ Creating a 64G growable disk image in raw format...
❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.
❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).
Do you think about any solution ?
Thank you !
Hi there,
It is so nice to find your repo and star has been marked.
One concern is that "is it possible to install docker-windows arm in macbook with M2?"
Both the OrbStack and Podman have been installed as the docker engine.
Looking forward to your feedback.
BR
Kimi
Hi!
I've installed dockur in a Raspberry Pi 5 successfully, but when I start windows I only have a resolution of 800X600 and it does not allow me to change it, have anyone encountered this issue?
Cheers
RaspberryPi 5 / 8 GB
Debian 12 (stable)
26.1.0
When starting the Docker container using 2.0.0 this error shows up in the logs:
ERROR: Timeout while waiting for QEMU to boot the machine!
It seems not to affect the start of Windows itself, as it's perfectly usable 👍🏼
After a shutdown & start the same error still shows up.
services:
app:
image: dockurr/windows-arm:2.00
volumes:
- ./data/storage:/storage
environment:
- VERSION=win11
- RAM_SIZE=4G
- CPU_CORES=2
- DISK_SIZE=128G
ports:
- 3389:3389
- 3389:3389/udp
restart: on-failure
devices:
- /dev/kvm
stop_grace_period: 2m
cap_add:
- NET_ADMIN
BdsDxe: loading Boot0004 "Windows Boot Manager" from HD(1,GPT,1F6C1699-A5C8-459B-AB12-9BDACC0AE054,0x800,0x40000)/\EFI\Microsoft\Boot\bootmgfw.efi
BdsDxe: starting Boot0004 "Windows Boot Manager" from HD(1,GPT,1F6C1699-A5C8-459B-AB12-9BDACC0AE054,0x800,0x40000)/\EFI\Microsoft\Boot\bootmgfw.efi
❯ ERROR: Timeout while waiting for QEMU to boot the machine!
No response
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.