Docker 容器部署 Windows 完整指南:3 步装好轻量版 Windows 11

📅 发布时间:2026/8/30 14:00:34
Docker 容器部署 Windows 完整指南:3 步装好轻量版 Windows 11 Docker 容器部署 Windows 完整指南:3 步装好轻量版 Windows 11【免费下载链接】windowsWindows inside a Docker container.项目地址: https://gitcode.com/GitHub_Trending/wi/windows需要在 Docker 容器部署 Windows 时,开源项目 Dockur/Windows 是目前路径最顺的一条:一条命令拉起容器,系统镜像自动下载、自动安装,浏览器里等到桌面出现即可。下文的流程、参数和踩坑记录均来自一次实际部署,重点放在轻量镜像的选法和环境检查上,不需要你了解 QEMU 细节。方案是什么:一个容器装下完整的 WindowsDockur/Windows 本质上是在容器里跑一台 QEMU 虚拟机,用 KVM 做硬件加速,性能接近原生虚拟机。它把最繁琐的部分全自动化了:启动后容器自己完成镜像下载、分区、装系统、装驱动,安装过程由脚本驱动,配套的答案文件就放在仓库的 assets/ 目录下,每个受支持版本对应一份,新系统用 XML 应答文件,Win2003 及更早的旧系统用批处理。几个关键数字,方便你评估资源:默认安装 Windows 11 Pro,ISO 约 7.9GB;轻量选项: Tiny11 Core 约 3.0GB、Tiny10 约 3.6GB、Windows 11 LTSC 约 4.7GB、Windows 10 LTSC 约 4.6GB;宿主机要求: 支持 KVM 的 Linux 环境,至少 2GB 空闲内存,至少 32GB 可用磁盘;装完后通过 8006 端口看安装画面,日常使用走 3389 端口的 RDP。部署前检查:KVM 是硬性前提这一步决定后面全部流程能否走通,建议先做。在宿主机上确认两件事:/dev/kvm设备存在(可以用ls -l /dev/kvm查看);安装 cpu-checker 后执行kvm-ok,输出 KVM acceleration can be used 才算通过。如果不通过,常见原因按概率排序: BIOS/UEFI 里没开 Intel VT-x 或 AMD-V;宿主机本身是虚拟机且没开嵌套虚拟化;某些云厂商 VPS 不支持嵌套。另外要特别注意: Docker Desktop 在 Linux 和 macOS 上不提供 KVM 访问,无法使用本项目,必须用原生 Linux 上的 Docker 或 Podman。三步完成部署第一步: 确认 compose 配置仓库根目录的 compose.yml 可以直接拿来用,关键字段只有四个:VERSION指定装哪个版本、端口映射 8006 和 3389、设备/dev/kvm与/dev/net/tun、卷挂载把系统盘落到宿主机目录。不想写 compose 文件的话,等价的单条命令是(这里选 3.0GB 的 Tiny11 Core 做示例):docker run -it --rm --name windows -e VERSIONcore11 \ -p 8006:8006 -p 3389:3389 \ --device/dev/kvm --device/dev/net/tun --cap-add NET_ADMIN \ -v ${PWD:-.}/windows:/storage --stop-timeout 120 \ docker.io/dockurr/windows第二步: 启动容器并等待自动安装浏览器打开http://127.0.0.1:8006/就能看到安装全过程: 下载 ISO、引导安装、重启进桌面。这个过程不用交互,可以放着不管。装完后默认的 ISO 会被自动删除(REMOVE默认为 Y),省一块磁盘。系统盘默认 64GB 的 raw 镜像,存放在你挂载的/storage目录里。第三步: 通过 RDP 接管日常使用网页端适合看安装进度,但操作延迟明显偏高,项目自己也建议日常走 RDP: 用任意微软远程桌面客户端连容器 IP,端口 3389,用户名Docker,密码admin(两个默认值都可以在环境变量里改)。安卓和 iOS 都有 RDP 客户端,Linux 可用 FreeRDP,Windows 直接mstsc。装好后桌面上会有一个Shared文件夹,对应 Z: 盘。把宿主机目录挂载到容器的/shared,两边就能互传文件。关键细节轻量镜像怎么选VERSION是部署参数的核心,常用取值和镜像体积:core11: Tiny11 Core,约 3.0GB,最低配 2G 内存、4G 磁盘即可跑起来;tiny11: Tiny11,约 5.3GB,最低 2G 内存、8G 磁盘;tiny10: Tiny10,约 3.6GB,最低 2G 内存、10G 磁盘;11/10: 完整版 Windows 11 / 10 Pro,默认值就是11;11l/10l: LTSC 版本,4.6–4.7GB,精简但来自官方。所谓轻量,主要省在预装应用和后台服务上,核心功能完整。如果资源非常紧张,core11 是最省的组合;想要官方血统就选 LTSC。部署参数怎么调三个最常用的变量:RAM_SIZE(默认 4G)、CPU_CORES(默认 2)、DISK_SIZE(默认 64G,可调大到 256G 等,且支持对已有盘扩容)。DISK_SIZE调大后多出的空间在 Windows 里是未分配状态,需要手动扩展分区。完整变量清单见 docs/environment.md,涵盖语言、键盘、工作组、多磁盘、USB 直通等。用自己的 ISO 与安装后自动化没有合适版本或想装离线镜像时,把VERSION设成 ISO 的下载链接,或者把本地文件挂载为/custom.iso,后者会直接跳过下载。装完想自动装软件: 建一个目录放install.bat和安装文件,挂载到容器/oem,它会被复制到C:\OEM并在安装最后一步执行。这套逻辑的主流程都在 src/install.sh 里,想看自动化细节可以翻这个文件。常见坑与排查容器报 KVM 不可用: 先跑kvm-ok,再确认 BIOS 虚拟化和嵌套虚拟化;若 kvm-ok 通过但容器仍报错,可临时给 compose 加privileged: true排除权限问题。磁盘不够用: 64GB 系统盘加上下载期间的 ISO 是主要消耗。空间紧张时把DISK_SIZE调小,并确认/storage所在分区余量充足。操作卡顿: 换 RDP,不要纠结于网页端调参。U 盘/移动硬盘在首装期间接入: 有被识别为系统盘并格式化的风险,首次启动容器时务必拔掉。语言不对: 默认下载英文版,LANGUAGE支持 30 多种语言,REGION和KEYBOARD可单独指定。这套方案适合谁适合的场景: 临时需要 Windows 做验证或演示、跑只支持 Windows 的旧软件、搭可快速丢弃的测试环境、教学演示。一台 2 核 4G 内存的 Linux 机器就能带起一套轻量 Windows。边界也说清楚: 只支持 x86_64(ARM64 需要另一个镜像);强依赖 KVM,macOS 和 Windows 10 上的 Docker Desktop 用不了;项目本身只含开源代码,不随容器分发 Windows,安装用的密钥是微软公开的评估通用密钥,正式使用请自备合法许可。【免费下载链接】windowsWindows inside a Docker container.项目地址: https://gitcode.com/GitHub_Trending/wi/windows创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考