今天,我们介绍一款创新的开源工具:dockur/windows。利用 noVNC 和 QEMU 实现,该工具能模拟多种不同的硬件平台,为用户提供一个隔离的环境来运行各种应用程序和操作系统。dockur/windows 允许用户通过 Web 浏览器与 Windows 交互,而且全程自动安装 Windows,无需复杂的配置。
这个项目已经发布两个月,在 GitHub 上获得了 6.2K stars,虽然还有部分 bug 未解决,但新版本正在积极迭代中。
🎨️ 特色功能包括:
- 开箱即用,无需复杂配置
- 支持自定义 CPU/RAM 的数量和磁盘大小
- 为容器分配单独的 IP 地址
- 内置 ISO 下载器,自动下载 Windows 版本的 ISO 文件
- 支持多个 Windows 版本,如 Win7/Win8/Win10/Win11/tiny10 等
- 支持使用 Linux KVM 为 Windows 容器提供硬件虚拟化的加速
- 与主机共享文件、安装自定义镜像
- 提供 DHCP、自定义 IP 地址、磁盘映射、USB 映射等功能
- 通过 Web 浏览器实时查看和控制 Windows 容器的桌面,无需安装额外的软件或插件
- 代码完全开源,不分发任何受版权保护的材料,合法合规
🔥 目前支持的 Windows 版本:
- Windows 11 Pro
- Windows 10 Pro
- Windows 10 LTSC
- Windows 8.1 Pro
- Windows 7 SP1
- Windows Vista SP2
- Windows XP SP3
- Windows Server 等
🧰 Docker 部署步骤: 准备环境:Window 10,docker 24.0.6,docker-compose version 2.22.0
在任意非中文目录创建文件夹 dockur、storage:
<code>mkdir dockur cd dockur mkdir storage</code>
准备一个 Windows7 的 ISO 镜像并将其命名为 custom.iso,然后拷贝到 storage 目录中。
在 dockur 目录创建 docker-compose.yml 文件:
<code>version: "3" services: windows: image: dockurr/windows container_name: windows environment: VERSION: "win7" KVM: "N" volumes: - D:/dockur/storage:/storage cap_add: - NET_ADMIN ports: - 8006:8006 - 3389:3389/tcp - 3389:3389/udp stop_grace_period: 2m restart: on-failure</code>
启动服务:
<code>docker-compose up -d</code>
在浏览器访问 http://localhost:8006,识别到本地 Win7 ISO 镜像文件,并进行全自动安装。
💻 增加 CPU 或 RAM 的数量:
默认情况下,Win11 的最低要求是 2核CPU、4 GB内存、64GB 磁盘空间。要增加此值和扩容,修改对应的环境变量值:
<code>environment: RAM_SIZE: "8G" CPU_CORES: "4" DISK_SIZE: "256G"</code>
dockur/windows 还提供了更多高级功能,如 DHCP、自定义 IP 地址、磁盘映射、USB 映射、KVM 支持等能力。利用 KVM 来加速 Windows 的运行。
如果想尝试在 ARM64 平台上运行 Windows,可以使用另一个开源项目:dokur/windows-arm。
虽然该项目还在迭代中,但已经引起了广泛关注。尝试在 Docker 中运行 Windows,开启套娃模式的乐趣吧!
项目链接:
- dockur 开源地址:https://github.com/dockur/windows
- noVNC 开源地址:https://github.com/novnc/noVNC
- QEMU 开源地址:https://gitlab.com/qemu-project/qemu
- QEMU 官网:https://www.qemu.org
现在就开始探索 Docker 中运行 Windows 的可能性吧!
暂无评论内容