dockur ,Docker容器内的Windows系统
dockur,一个开源项目,专注于为 Docker 用户提供一键式虚拟化解决方案。其核心项目包括通过docker-compose 在容器中运行完整 Windows 系统,支持自动下载 ISO、KVM 加速、Web 查看器,支持 ARM64 架构的 Windows 容器版本。如果部署多个,可以将ports中主机部分的端口改为其他端口。
services:
windows:
image: dockurr/windows
container_name: windows
environment:
VERSION: "ltsc10"
LANGUAGE: "Chinese"
CPU_CORES: "2"
USERNAME: "admin"
PASSWORD: "yourpassword"
DISK_SIZE: "128G"
REGION: "en-US"
KEYBOARD: "en-US"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
volumes:
- ./windows:/storage
# - /vol3/1000/999.Temp:/shared
# - /vol3/1000/999.Temp/tiny10.iso:/custom.iso
restart: always
stop_grace_period: 2m
如何使用?
非常简单!按以下步骤操作:
- 启动容器,使用浏览器访问 端口 8006。
- 坐等安装完成,整个安装过程将全自动进行。
- 当看到桌面时,Windows 安装即已完成,可以正常使用。
享受你的全新机器,别忘了给这个项目点赞!
如何选择 Windows 版本?
默认将安装 Windows 11。但你可以向 compose 文件中添加 VERSION 环境变量,以指定要下载的其他 Windows 版本:
environment:
VERSION: "win11"
从以下值中选择:
| 值 | 版本 | 大小 |
|---|---|---|
win11 | Windows 11 Pro | 6.4 GB |
win11e | Windows 11 Enterprise | 5.8 GB |
win10 | Windows 10 Pro | 5.8 GB |
ltsc10 | Windows 10 LTSC | 4.6 GB |
win10e | Windows 10 Enterprise | 5.2 GB |
win8 | Windows 8.1 Pro | 4.2 GB |
win8e | Windows 8.1 Enterprise | 3.8 GB |
win7 | Windows 7 Enterprise | 3.0 GB |
vista | Windows Vista Enterprise | 3.0 GB |
winxp | Windows XP Professional | 0.6 GB |
2022 | Windows Server 2022 | 4.7 GB |
2019 | Windows Server 2019 | 5.3 GB |
2016 | Windows Server 2016 | 6.5 GB |
2012 | Windows Server 2012 | 4.3 GB |
2008 | Windows Server 2008 | 3.0 GB |
core11 | Tiny 11 Core | 2.1 GB |
tiny11 | Tiny 11 | 3.8 GB |
tiny10 | Tiny 10 | 3.6 GB |
如需安装 ARM64 版本的 Windows,请使用 dockur/windows-arm。
如何选择 Windows 语言?
默认将下载英文版本的 Windows。但你可以向 compose 文件中添加 LANGUAGE 环境变量,以指定其他语言:
environment:
LANGUAGE: "Chinese"
可选择: 🇦🇪 阿拉伯语 Arabic, 🇧🇬 保加利亚语 Bulgarian, 🇨🇳 中文 Chinese, 🇭🇷 克罗地亚语 Croatian, 🇨🇿 捷克语 Czech, 🇩🇰 丹麦语 Danish, 🇳🇱 荷兰语 Dutch, 🇬🇧 英语 English, 🇪🇪 爱沙尼亚语 Estonian, 🇫🇮 芬兰语 Finnish, 🇫🇷 法语 French, 🇩🇪 德语 German, 🇬🇷 希腊语 Greek, 🇮🇱 希伯来语 Hebrew, 🇭🇺 匈牙利语 Hungarian, 🇮🇹 意大利语 Italian, 🇯🇵 日语 Japanese, 🇰🇷 韩语 Korean, 🇱🇻 拉脱维亚语 Latvian, 🇱🇹 立陶宛语 Lithuanian, 🇳🇴 挪威语 Norwegian, 🇵🇱 波兰语 Polish, 🇵🇹 葡萄牙语 Portuguese, 🇷🇴 罗马尼亚语 Romanian, 🇷🇺 俄语 Russian, 🇷🇸 塞尔维亚语 Serbian, 🇸🇰 斯洛伐克语 Slovak, 🇸🇮 斯洛文尼亚语 Slovenian, 🇪🇸 西班牙语 Spanish, 🇸🇪 瑞典语 Swedish, 🇹🇭 泰语 Thai, 🇹🇷 土耳其语 Turkish, 🇺🇦 乌克兰语 Ukrainian。
如果你想使用与所选语言默认值不同的键盘布局或区域设置,可以添加 KEYBOARD 和 REGION 变量,使用文化代码:
environment:
REGION: "zh-CN"
KEYBOARD: "zh-CN"
如何更改存储位置?
要更改存储位置,在 compose 文件中添加以下绑定挂载:
volumes:
- /var/win:/storage
将示例路径 /var/win 替换为你想要的存储文件夹。
如何更改磁盘大小?
要扩展默认的 64 GB 大小,向 compose 文件中添加 DISK_SIZE 设置:
environment:
DISK_SIZE: "256G"
这也可以用于将现有磁盘扩容到更大的容量,且不会丢失数据。
如何与宿主机共享文件?
打开”文件资源管理器”并点击”网络”部分,你会看到一个名为 host.lan 的计算机。双击它,会显示一个名为 Data 的文件夹,可以通过 compose 文件将其绑定到宿主机的任意文件夹:
volumes:
- /home/user/example:/shared
示例文件夹 /home/user/example 将作为 \\host.lan\Data 可用。你可以选择在 Windows 中将该路径映射为盘符,方便访问。
如何安装自定义镜像?
若要下载上方列表中不支持的 ISO 镜像,请将 ISO 的 URL 指定在 VERSION 环境变量中:
environment:
VERSION: "https://example.com/win.iso"
或者,你也可以跳过下载直接使用本地文件,通过以下方式在 compose 文件中绑定:
volumes:
- /home/user/example.iso:/custom.iso
将示例路径 /home/user/example.iso 替换为你想要的 ISO 文件名,此时 VERSION 的值将被忽略。
如何自定义安装?
如果你想修改自动安装过程中使用的设置,可以通过编辑对应 Windows 版本的应答文件来实现,例如 Windows 11 Pro 的 win11x64.xml。
修改后,在 compose 文件中添加以下行:
volumes:
- /home/user/example.xml:/custom.xml
如何在安装后运行脚本?
若要在安装后运行你自己的脚本,可以创建一个名为 install.bat 的文件,并将其与所需的其他文件(例如要安装的程序)放在同一个文件夹中。然后在 compose 文件中绑定:
volumes:
- /home/user/example:/oem
示例文件夹 /home/user/example 将在安装过程中被复制到 C:\OEM,其中的 install.bat 将在最后一步执行。
如何手动安装?
推荐使用自动安装,因为它可以避免在虚拟化环境中运行 Windows 时的常见问题,并优化各项设置以获得最佳性能。
但如果你坚持手动安装,请在 compose 文件中添加以下环境变量:
environment:
MANUAL: "Y"
然后按以下步骤操作:
- 启动容器,在浏览器中连接到容器的 端口 8006。下载完成后,你将看到 Windows 安装界面。
- 点击”现在安装”开始安装。在下一个屏幕上,当提示”加载驱动程序”时,点击”确定”。
- 从列表中选择与你的 Windows 版本匹配的
VirtIO SCSI驱动程序。对于 Windows 11,选择D:\amd64\w11\vioscsi.inf,然后点击”下一步”。 - 接受许可协议,选择你偏好的 Windows 版本,如家庭版或专业版。
- 选择”自定义:仅安装 Windows(高级)”,然后在下一个屏幕上点击”加载驱动程序”。
- 选择”浏览”,导航到
D:\NetKVM\w11\amd64文件夹,然后点击”确定”。 - 从列表中选择
VirtIO Ethernet Adapter,然后点击”下一步”。 - 选择
Drive 0,然后点击”下一步”。 - 等待 Windows 完成文件复制并结束安装。
- 看到桌面后,打开文件资源管理器,导航到 CD-ROM 驱动器(
E:\)。 - 双击
virtio-win-gt-x64.msi,然后按提示安装 VirtIO 驱动程序。