dockurwindows:在 Docker 里跑 Windows,5 万多 Star 的开源项目
dockur/windows:在 Docker 里跑 Windows,5 万多 Star 的开源项目
GitHub 上有个项目叫 dockur/windows,Star 数已经到了 5.1 万。它干的事情很简单:在 Docker 容器里运行 Windows。
听起来有点魔幻,但实际用起来确实能解决不少问题。比如你需要一个干净的 Windows 环境测试东西,又不想折腾虚拟机;或者想在 Linux 服务器上跑个 Windows 实例,这个项目都能搞定。

怎么用?
部署方式很标准,Docker Compose、Docker CLI、Kubernetes 都支持。一个最简配置大概这样:
services:
windows:
image: dockurr/windows
container_name: windows
environment:
VERSION: "11"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
volumes:
- ./windows:/storage
restart: always
启动之后,浏览器访问 8006 端口就能看到安装界面。整个安装过程是全自动的,不用手动点来点去。装完之后,可以通过 Web 界面操作,也可以用 RDP 远程桌面连接。
支持哪些版本?
这个项目支持的 Windows 版本很全。从最新的 Windows 11、Windows Server 2025,到老一点的 Windows 10、Windows 8.1,再到经典的 Windows 7、Windows XP 甚至 Windows 2000,都能装。
每个版本还有不同的变体可选,比如 Windows 11 就有 Pro、LTSC、Enterprise 三个版本。通过环境变量 VERSION 设置就行,比如 VERSION: "11l" 就是 Windows 11 LTSC。
除了标准的 Windows 镜像,你也可以用自定义 ISO,直接把 ISO 文件路径挂载进去就行。
几个实用功能
磁盘大小可调:默认 64GB,通过 DISK_SIZE 环境变量可以改。后期也能扩容,不会丢数据。
文件共享:容器里有个 Shared 文件夹,可以和宿主机交换文件。想指定宿主机的哪个目录,挂载一下就行。
CPU 和内存可配:默认 2 核 4GB,通过 CPU_CORES 和 RAM_SIZE 调整。
多磁盘支持:可以加第二块、第三块盘,每块盘独立配置大小。
USB 设备透传:可以把宿主机的 USB 设备直接给容器里的 Windows 用。

网络配置
默认是桥接网络,容器和宿主机共享 IP。如果想让容器有独立 IP,可以用 macvlan 模式。配置稍微复杂一点,但配好之后,容器就像局域网里一台独立的机器,还能从路由器 DHCP 获取 IP。
不过 macvlan 有个限制:容器和宿主机之间默认不能直接通信,需要额外建一个 macvlan 网络做桥接。
适合谁用?
开发者:需要测试 Windows 环境,但不想开虚拟机占资源。Docker 容器启动快、销毁也快,适合跑 CI/CD 测试。
运维人员:在 Linux 服务器上临时需要个 Windows 环境,装个软件、跑个脚本什么的。
折腾爱好者:想玩玩老版本 Windows,或者搞个多系统环境,这个项目比装虚拟机方便多了。
限制
Web 界面(端口 8006)主要是安装阶段用的,画质一般,没音频、没剪贴板。日常使用建议用 RDP 连接,体验好很多。
另外,运行这个容器需要 KVM 支持,也就是 CPU 要支持虚拟化(Intel VT-x 或 AMD SVM)。大部分现代 CPU 都支持,但云服务器不一定,因为很多云厂商不开放嵌套虚拟化。
和其他方案比
和传统虚拟机比,这个项目的优点是轻量、易部署、易销毁。Docker 容器本身没有虚拟机那种重量级的资源开销,启动速度也快。
和 Wine 比,这个是完整的 Windows 系统,兼容性没话说。Wine 能跑的软件有限,这个直接就是正版 Windows。
当然,它也有缺点。性能肯定不如裸机,也不如配置好的虚拟机。适合对性能要求不高的场景,比如测试、轻度使用。
总的来说,这是个很实用的工具。5 万多 Star 不是白来的,确实解决了真实需求。
肯定不如裸机,也不如配置好的虚拟机。适合对性能要求不高的场景,比如测试、轻度使用。
总的来说,这是个很实用的工具。5 万多 Star 不是白来的,确实解决了真实需求。
更多推荐


所有评论(0)