Windows 桌面容器镜像(KVM)
基于 KVM 虚拟化的 Windows(win11)桌面容器镜像,通过浏览器访问 Web 桌面(默认端口 8006)。这是一种独立的镜像类型,与 jupyter/vscode notebook 镜像无关。
源:images/window/window.md。
一、校验宿主机是否支持 KVM
容器依赖宿主机的 /dev/kvm,先确认开启了硬件虚拟化:
apt install cpu-checker -y
kvm-ok
期望输出:
INFO: /dev/kvm exists
KVM acceleration can be used
若没有 /dev/kvm,需在 BIOS / 云主机层开启 VT-x/AMD-V 虚拟化。
二、启动 Windows 桌面容器
容器需要 --device=/dev/kvm 透传 KVM、--cap-add NET_ADMIN 配网,--stop-timeout 120 给系统留关机时间。访问 http://<宿主机IP>:8006。
# 方式 A:dockurr/windows 上游镜像,在线安装 win11(中文)
docker run -it --name win -p 8006:8006 \
-e VERSION="win11" -e LANGUAGE="Chinese" \
-e DISK_SIZE="30G" -e RAM_SIZE="32G" -e CPU_CORES="32" \
-v $PWD/win11:/shared \
--device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 \
dockurr/windows:3.11
# 方式 B:平台镜像(带第二块数据盘 DISK2_SIZE,挂到 /storage2)
docker run -it --name win -p 8006:8006 \
-e VERSION="win11" -e LANGUAGE="Chinese" \
-e DISK_SIZE="30G" -e RAM_SIZE="32G" -e CPU_CORES="32" -e DISK2_SIZE="32G" \
-v $PWD/storage2:/storage2 \
--device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 \
ccr.ccs.tencentyun.com/cube-studio/notebook-enterprise:win11
# 方式 C:已预装好系统的平台镜像(开箱即用)
docker run -it --name win11 -p 8006:8006 \
-e DISK_SIZE="30G" -e RAM_SIZE="32G" -e CPU_CORES="10" \
--device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 \
ccr.ccs.tencentyun.com/cube-studio/notebook-enterprise:win11-1
环境变量说明:
| 变量 | 含义 |
|---|---|
VERSION |
Windows 版本,如 win11 |
LANGUAGE |
系统语言,如 Chinese |
DISK_SIZE |
系统盘大小 |
DISK2_SIZE |
第二块数据盘大小(挂到 /storage2) |
RAM_SIZE |
分配内存 |
CPU_CORES |
分配 CPU 核数 |