一份 YAML 让 Docker 运行 Windows 容器,从 XP 到 Win11 接近原生性能
【免费下载链接】windowsWindows inside a Docker container.项目地址: https://gitcode.com/GitHub_Trending/wi/windows
Dockur/Windows 用 Docker 运行 Windows:一个容器里装下完整的操作系统,自动下载官方 ISO 并完成安装。读完本文,你可以用一份 Compose 文件拉起 Windows 容器(默认装 Win11),装完直接连桌面。
部署 Docker 运行 Windows 前,验证主机三项条件
三项硬性条件,缺一就会启动失败或没有加速:
- KVM:宿主机 CPU 支持 KVM 硬件虚拟化(Intel VT-x / AMD-V),BIOS 中已开启,且系统里存在
/dev/kvm设备 - 内存:官方下限 2 GB,而默认配置会分配 4 GB,建议至少 4 GB
- 磁盘:空闲空间至少 32 GB,默认虚拟盘是 64 GB
验证只需一条命令(没装cpu-checker先装上):
sudo kvm-ok输出KVM acceleration can be used即通过。如果你的宿主机本身是虚拟机,还得额外打开嵌套虚拟化,否则 KVM 不生效。
用一份 YAML 拉起第一个 Windows 容器
长期运行用 Compose,配置可进版本库,重建容器也不丢状态:
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: - ./windows:/storage restart: always stop_grace_period: 2m其中./windows就是这台"机器"的硬盘:首次装完后系统镜像就落在这个目录里,容器随时可以删掉重建,系统还在。如果只是临时验证环境能不能跑,用一条docker run就够:
docker run -it --rm --name windows -e "VERSION=11" -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v "${PWD:-.}/windows:/storage" --stop-timeout 120 docker.io/dockurr/windows启动后浏览器打开 127.0.0.1:8006,下载、分区、安装全程自动,看到桌面即完工。网页画面在装机阶段够用,日常使用请接任意 RDP 客户端(3389 已映射,账号Docker,密码admin)。
其他入口,按需取用:
- Kubernetes:应用 Kubernetes 部署清单,适合团队共享环境
- Codespaces:没有本地条件也能做 Windows 11 容器部署,直接跑在云端
- WinBoat / WinPodX / WinApps:图形化桌面工具,后端都是这个容器
调整版本、内存与磁盘
VERSION决定装哪套系统,常用的几个:
| 取值 | 系统 | 镜像体积 |
|---|---|---|
11 | Windows 11 专业版 | 7.9 GB |
11l | Windows 11 LTSC | 4.7 GB |
10 | Windows 10 专业版 | 5.7 GB |
7u | Windows 7 旗舰版 | 3.1 GB |
xp | Windows XP 专业版 | 0.6 GB |
列表实际从 Windows 95 一路覆盖到 Server 2025,还有 Tiny11,完整取值见仓库的环境变量列表。拿不准就选11;如果目标是长期当服务用而不是当桌面,11l更稳,镜像更小、功能干扰更少。
日常开发测试,4C / 8G / 256G 是舒服的组合(默认只有 2 核 / 4 GB / 64 GB):
environment: RAM_SIZE: "8G" CPU_CORES: "4" DISK_SIZE: "256G"DISK_SIZE还能给已有磁盘扩容,新增空间会以未分配状态出现,需要在系统里手动扩展分区。
两个开箱即用的能力值得记住:配置DHCP: "Y"(配合 macvlan)后,Windows 会像真实 PC 一样从路由器拿 IP 接入局域网;把宿主目录绑定到/shared,桌面上会出现Shared文件夹(即 Z: 盘),传大文件就走它。
排查性能慢与安装卡住
症状:画面卡顿、操作延迟高 →排查:确认kvm-ok通过且/dev/kvm已映射给容器;KVM 已启用就直接调大RAM_SIZE和CPU_CORES,虚拟机里最缺的就是内存。
症状:安装长时间卡在下载或安装界面 →排查:检查宿主网络稳定性与磁盘剩余空间;装完以后改用 RDP 操作,别依赖浏览器画面干活。
症状:局域网其他设备连不上容器 →排查:核对 8006 / 3389 端口映射是否正确;需要独立 IP 就按上一节的 macvlan + DHCP 配置走。
Dockur/Windows 把容器化操作系统收进一份 Compose 文件。先拉起来跑一遍,配置不通就把完整配置贴到仓库 Issues 里求助。
【免费下载链接】windowsWindows inside a Docker container.项目地址: https://gitcode.com/GitHub_Trending/wi/windows
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考