使用docker安装windows,其实是调用kvm,但是安装会十分简单。
作者github链接:dockur/windows-arm: Windows for ARM in a Docker container. (github.com)
1.安装qemu-kvm
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager
2.安装docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
不行的话可以删除 /usr/local/bin/docker-compose,然后直接安装1panel来安装docker-compose
3.创建macvlan
使用默认的配置会出现问题,所以需要创建macvlan来设置固定ip。原因详见ERROR: Status 1 while: ip tuntap add dev "$VM_NET_TAP" mode tap (line 163/295) · Issue #29 · dockur/windows-arm (github.com)
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=end1 macnet0
需要修改parent的end1为你的网卡。
4.编辑docker-compose.yml
vim docker-compose.yml
然后插入以下文本:
version: "3"
services:
windows:
environment:
VERSION: "win11"#不要改
RAM_SIZE: "6G"#这是你的内存
CPU_CORES: "6"#这是cpu核心数量
DISK_SIZE: "256G"#这是磁盘大小
device_cgroup_rules:
- 'c *:* rwm'
container_name: windows
image: dockurr/windows-arm
devices:
- /dev/kvm
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
stop_grace_period: 2m
restart: on-failure
networks:
macnet0:
ipv4_address: 192.168.1.100 #可以修改ip
networks:
macnet0:
external: true
保存并退出。
5.运行并访问
运行
docker-compose up
不出意外的话,下载完docker镜像和win11镜像后应该可以正常运行,然后访问http://yourip:8006/就可以了。(ip为docker-compose填的ip,如上面的192.168.1.100)
如果运行时报错,请删除硬盘、内存、cpu的环境变量再运行
RAM_SIZE: "6G"#这是你的内存
CPU_CORES: "6"#这是cpu核心数量
DISK_SIZE: "256G"#这是磁盘大小