dockurr/windows 是一个强大的 Docker 镜像,它允许用户在 Docker 容器内运行完整的 Windows 操作系统。借助 KVM 硬件加速和自动化安装流程,用户可以轻松地部署和使用一个虚拟化的 Windows 环境。
核心特性 ✨
- ISO 自动下载: 根据配置自动下载所需的 Windows 安装镜像。 
- KVM 硬件加速: 利用 Linux 内核的 KVM (Kernel-based Virtual Machine) 提供接近原生的虚拟化性能。 
- Web 界面查看器: 提供一个基于 Web 的界面,方便在安装过程中和安装后进行访问和操作。 
- 全自动安装: 从系统安装到基本设置,整个过程无需人工干预。 
快速上手与使用方法 ?
最简单的方式是使用 Docker Compose 或 Docker CLI。
容器启动后安装可能需要一两个小时,logs或者访问ip:8006看安装进度,全程自动安装
1. 通过 Docker Compose:
2. 通过 Docker CLI:
基本使用流程:
- 启动容器 (使用 - docker-compose up -d或- docker run ...)。
- 在浏览器中访问 - http://<你的主机IP>:8006。
- 等待全自动安装完成。你会看到 Windows 的安装过程,最后进入桌面。 
- 安装完成后,即可通过 Web 查看器或 RDP (推荐) 使用 Windows。 
常见配置与问答 (FAQ) ?
- 选择 Windows 版本: 
- 通过环境变量 - VERSION指定。可选值包括:- 11(Win11 Pro),- 10(Win10 Pro),- 11l(Win11 LTSC),- 10l(Win10 LTSC),- 2022(Server 2022),- xp(XP Pro),- 7e(Win7 Ent),- 2k(Win2k Pro) 等。
- 也可以指定一个 ISO 文件的 URL: - VERSION: "https://example.com/win.iso"。
- 或者使用本地 ISO 文件:挂载本地 ISO 到容器内的 - /custom.iso,如- volumes: - ./my-windows.iso:/custom.iso。
- 更改存储位置和大小: 
- 存储位置:修改 - volumes中的- - ./windows:/storage映射。
- 磁盘大小:设置环境变量 - DISK_SIZE,如- DISK_SIZE: "256G"。支持在线扩容现有磁盘。
- 与主机共享文件: 
- 添加卷映射,如 - volumes: - ./shared_folder:/data。
- 在 Windows 内部,访问网络邻居中的 - host.lan,即可看到- Data文件夹,对应主机上的- shared_folder。
- 调整 CPU 和内存: 
- 使用环境变量 - CPU_CORES和- RAM_SIZE,如- CPU_CORES: "4",- RAM_SIZE: "8G"。
- 自定义用户名和密码: 
- 首次安装前,设置环境变量 - USERNAME和- PASSWORD。默认用户- Docker,密码- admin。
- 选择语言、区域和键盘布局: 
- 首次安装前,设置环境变量 - LANGUAGE(如- "French",- "Chinese"),- REGION(如- "zh-CN"),- KEYBOARD(如- "zh-CN")。
- 选择系统版本 (Edition): 
- 对于 Server 版本,可以通过 - EDITION: "core"选择无 GUI 的 Core 版本 (需在首次安装前设置)。
- 运行安装后脚本: 
- 创建一个包含 - install.bat脚本和所需文件的文件夹 (例如- my_oem_files)。
- 将该文件夹挂载到容器的 - /oem:- volumes: - ./my_oem_files:/oem。
- install.bat会在自动安装的最后阶段执行。
- 手动安装: 
- 设置环境变量 - MANUAL: "Y",将禁用自动安装流程。不推荐,因为自动安装会应用很多优化设置。
- 使用 RDP 连接: 
- Web 查看器主要用于安装过程,功能有限。 
- 推荐使用标准的 RDP 客户端 (如 Windows 自带的 - mstsc,或 FreeRDP) 连接到容器的 IP 地址和端口 3389。默认用户名- Docker,密码- admin。
- 分配独立 IP 地址 (Macvlan): 
- 可以创建 - macvlan网络,让容器获得与主机不同的、在局域网内可路由的 IP 地址。配置略复杂,需根据自身网络环境创建 Docker network 并修改 Compose 文件。
- 启用 - macvlan后,可进一步设置- DHCP: "Y"(并添加相关设备权限),让 Windows 直接从路由器获取 IP 地址。
- 添加额外磁盘: 
- 设置环境变量 - DISK2_SIZE,- DISK3_SIZE等。
- 同时添加对应的卷映射: - volumes: - ./disk2_data:/storage2 - ./disk3_data:/storage3。
- 直通物理磁盘/分区: 
- 使用 - devices映射物理设备,如- devices: - /dev/sda:/disk1(作为主磁盘,会被格式化) 或- - /dev/sdb1:/disk2(作为额外磁盘,数据保留)。
- 直通 USB 设备: 
- 查找设备的 Vendor ID 和 Product ID (用 - lsusb)。
- 设置环境变量 - ARGUMENTS: "-device usb-host,vendorid=0xABCD,productid=0x1234"。
- 添加 - devices: - /dev/bus/usb。
- KVM 支持验证: 
- 极其重要: 性能依赖 KVM。需要宿主机 CPU 支持并在 BIOS/UEFI 中启用虚拟化技术 (Intel VT-x 或 AMD-V/SVM)。 
- 在 Linux 下可用 - sudo kvm-ok命令检查。
- 若在虚拟机中运行 Docker,需启用 "嵌套虚拟化"。 
- 某些云服务商可能不允许 KVM。 
- Docker Desktop for Windows/macOS 不支持 KVM 直通,性能会很差。推荐在 Linux 主机上使用 Docker Engine 或 Podman。 
- 合法性: 
- 项目本身只包含开源代码,不分发受版权保护的 Windows 镜像或密钥。安装过程中使用的密钥是微软提供的通用评估密钥。项目符合相关法律。 
总结
dockurr/windows 提供了一种在 Docker 中便捷、高效地运行 Windows 虚拟环境的方案。其自动化安装、KVM 加速以及灵活的配置选项,使其非常适合开发测试、运行特定 Windows 应用或体验不同 Windows 版本等场景。但务必确保宿主机满足 KVM 要求以获得最佳性能。
本文链接:https://kinber.cn/post/5159.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝:

 支付宝微信扫一扫,打赏作者吧~
支付宝微信扫一扫,打赏作者吧~

 
        