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://www.kinber.cn/post/5159.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝:

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