Docker 安装 Windows

本文最后更新于 2025年2月7日 下午

系统为 Arch Linux,桌面为 Hyprland

检查是否支持 KVM

1
egrep "(svm|vmx)" /proc/cpuinfo

安装 Docker、Docker-compose

1
2
3
4
5
6
7
8
sudo pacman -S docker # 安装 docker
sudo systemctl enable docker.service && \
sudo systemctl start docker.service # 开机自启和启动 docker

sudo usermod -aG docker $USER # 创建 docker 用户

sudo pacman -S docker-compose # 安装 docker-compose
sudo pacman -S bash-comletion

Docker 操作

1
2
3
4
5
docker ps -a
docker images
docker-compose up # 启动 docker
#创建 docker-compose.yml 文件
vim ~/docker-compose.yml

安装 Windows

1
2
3
4
5
git clone https://github.com/dockur/windows.git
cd windows
docker build -t dockurr/windows . # 安装 windows docker
docker pull ghcr.io/qemus/qemu-docker:6.11 # 挂梯子 pull
paru -S wsdd virtio-win tini nginx

下载 Windows ISO 镜像文件创建 docker-compose 文件,添加以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
version: "3"
services:
windows:
image: dockurr/windows
container_name: windows
devices:
- /dev/kvm
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
stop_grace_period: 2m
restart: on-failure
environment:
VERSION: "http://winiso/Win10_22H2_Chinese_Simplified_x64v1.iso"
MANUAL: "N"
volumes:
- ./win:/storage
depends_on:
- winiso

winiso:
image: nginx:alpine
container_name: winiso
restart: on-failure
volumes:
- /home/kingofthunder/ISO:/usr/share/nginx/html

使用 docker compose up 启动 Windows 镜像

在浏览器输入 docker ip:8006 即可使用