dockur/windows:在 Docker 容器中运行完整 Windows 系统的实操指南
【免费下载链接】windowsWindows inside a Docker container.项目地址: https://gitcode.com/GitHub_Trending/wi/windows
dockur/windows 让 Windows 直接跑在 Docker 容器里:容器自动下载系统镜像并完成无人值守安装,安装过程无需人工干预。启动后通过浏览器或 RDP 客户端连接,即可得到一个可直接使用的 Windows 桌面,适合快速搭建轻量 Windows 环境。
什么场景下适合用容器版 Windows
如果你想在 Linux 主机上临时获得一台 Windows 机器,又不想部署完整虚拟机平台,这个方案比较合适。它面向三类需求:
- 开发或测试人员需要快速拉起 Windows 环境验证兼容性,用完即弃;
- 需要运行老旧系统或服务器版本,项目内置了从 Windows 7、8.1 到 Server 2008 至 2025 的多版本自动安装脚本(见 assets/ 目录下的各版本无人值守应答文件);
- 希望资源可控的用户,CPU 核数、内存、磁盘大小都能通过环境变量单独设定,并支持 KVM 硬件加速,性能接近原生。
集成流程:从 compose 配置到启动验证
准备一台支持 KVM 的 Linux 主机,装好 Docker,预留至少 2 GB 内存和 32 GB 磁盘空间。下面这份 compose 文件声明了要安装的 Windows 版本,并透传 KVM 设备、映射 Web 控制台与 RDP 端口:
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保存后执行docker compose up -d,镜像下载与系统安装会自动完成,./windows目录用于存放磁盘文件,换个主机也能延续安装进度。
启动后在浏览器打开127.0.0.1:8006,能等到桌面画面出现即代表安装成功。Web 界面主要用于安装阶段,日常使用建议用微软远程桌面客户端连接 3389 端口,默认账号为Docker、密码admin。
常用配置参数速查
| 参数 | 作用 | 建议值 |
|---|---|---|
VERSION | 指定安装的 Windows 版本或自定义 ISO 地址 | 11(Win11 Pro),资源有限可选11l、7u等轻量版本 |
DISK_SIZE | 主磁盘容量 | 默认64G,按应用需求调整 |
RAM_SIZE | 分配给 Windows 的内存 | 默认4G,普通办公2G~4G即可 |
CPU_CORES | 虚拟 CPU 核数 | 默认2,支持half、max |
USERNAME/PASSWORD | 安装时创建的账号凭据 | 默认Docker/admin,生产环境建议改掉 |
LANGUAGE | 系统显示语言 | 默认en-US,可填Chinese |
AUDIO | 是否向浏览器流式输出音频 | 默认N,需要浏览器内听声音时设Y |
进阶实践
- 文件共享:把宿主机目录挂载到
/shared(如- ./shared:/shared),桌面会出现Shared文件夹,同时映射为Z:盘,方便与宿主机交换文件; - 安装后自动执行:将
install.bat放到挂载到/oem的目录中,安装最后一步会自动执行,可批量装软件; - 使用本地 ISO:把 ISO 文件挂载为
/custom.iso,即可跳过下载,适合内网或反复部署场景; - 独立 IP:通过 macvlan 网络给容器分配固定地址,或设置
DHCP: "Y"让 Windows 像普通 PC 一样从路由器获取 IP; - 动态内存:开启
BALLOONING: "Y"后,容器会按宿主机内存压力自动回收 guest 闲置内存; - 完整参数(网络、显示、启动模式等)见 docs/environment.md。
先把基础 compose 跑通,再按需叠加上述配置,就能把这台容器化 Windows 纳入日常自动化流程。
【免费下载链接】windowsWindows inside a Docker container.项目地址: https://gitcode.com/GitHub_Trending/wi/windows
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考