news 2026/8/30 9:59:02

在 Docker 容器里跑 Windows 的做法:3 步完成 Windows Server 2022 全自动安装

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在 Docker 容器里跑 Windows 的做法:3 步完成 Windows Server 2022 全自动安装

在 Docker 容器里跑 Windows 的做法:3 步完成 Windows Server 2022 全自动安装

【免费下载链接】windowsWindows inside a Docker container.项目地址: https://gitcode.com/GitHub_Trending/wi/windows

Dockur/Windows 是一个容器化 Windows 方案:它在 Docker 容器中运行完整的 Windows 系统,自动下载官方 ISO 并完成全部安装流程,不需要安装虚拟化产品,也不需要手动点安装向导。环境就绪的话,从拉取镜像到看到桌面,通常只需要 10 分钟左右的等待。下面以 Windows Server 2022 为例走一遍部署步骤。

一句话说清它能干什么

  • 容器内运行 Windows:基于 KVM 加速,性能接近原生,宿主机不装任何虚拟化软件
  • 全自动安装:ISO 自动下载、分区、安装一次完成,全程无需人工干预
  • 多版本覆盖:从 Windows Server 2025 到 Windows XP 共 20 多个版本,一个环境变量切换
  • 浏览器访问桌面:安装进度和桌面都在 8006 端口的网页里查看,日常使用可切换 RDP 连接
  • 资源可定制:CPU 核数、内存、磁盘大小均可配置,支持按需动态回收内存

动手前:环境检查

  • Linux 宿主机,已安装 Docker 或 Podman
  • /dev/kvm存在,即 CPU 虚拟化扩展(Intel VT-x / AMD-V)已在 BIOS 开启
  • 至少 2 GB 可用内存(默认给 Windows 分配 4 GB)
  • 至少 32 GB 空闲磁盘(2022 的 ISO 约 6 GB,默认系统盘 64 GB)
  • 注意:Linux/macOS 上的 Docker Desktop 不提供 KVM 访问,不在支持范围 🔧

部署

第一步:确认 KVM 可用

KVM 是整个方案的性能基础,缺失时安装会极慢。

sudo kvm-ok ls -l /dev/kvm

预期输出KVM acceleration can be used且设备文件存在。不存在时先回 BIOS 检查虚拟化选项,虚拟机宿主还需开启嵌套虚拟化。

第二步:编写 compose 配置

将以下内容保存为compose.yml(仓库中的 compose.yml 是完整示例):

services: windows: image: dockurr/windows environment: VERSION: "2022" devices: - /dev/kvm - /dev/net/tun ports: - 8006:8006

使用 macvlan 或 user-mode 网络时追加cap_add: - NET_ADMIN;建议同时挂载卷./windows:/storage,系统盘会写入该目录。

第三步:启动容器并观察自动安装

docker compose up -d

然后浏览器打开 http://127.0.0.1:8006/ ,页面实时显示下载与安装进度。安装完成后页面直接呈现 Windows 桌面,总时长取决于下载速度,通常需要 10–30 分钟。

进阶配置

完整变量清单见 docs/environment.md,常用的是改一处 environment:

environment: VERSION: "2019" RAM_SIZE: "8G" CPU_CORES: "4" DISK_SIZE: "256G"

VERSION常用取值(大小为下载体积):

系统大小
2025Windows Server 20257.6 GB
2022Windows Server 20226.0 GB
2019Windows Server 20195.3 GB
11Windows 11 Pro7.9 GB
10Windows 10 Pro5.7 GB

其他单变量说明:

  • USERNAME/PASSWORD:设定 Windows 账号,默认Docker/admin
  • LANGUAGE:选择系统语言,默认英文
  • AUDIO: "Y":开启浏览器音频串流
  • 挂载./folder:/shared:宿主机文件夹在桌面上显示为Shared,即Z:
  • DISK2_SIZE配合/storage2:增加第二块磁盘

常见问题

Q:网页访问桌面为什么比较卡?官方定位网页查看器主要用于安装阶段。日常使用建议用任意 RDP 客户端连接:映射了 3389 端口的环境连127.0.0.1:3389,macvlan 模式下直接连容器 IP,账号Docker、密码admin。体验更流畅,还支持剪贴板等功能。

Q:系统盘存在哪里,能否换位置?系统盘位于容器的/storage,对应挂载卷(如./windows)下的文件。把挂载路径换成容量更大的目录即可,磁盘随目录迁移。

Q:能装列表外的 ISO 吗?可以。把VERSION指向 ISO 的下载 URL,或将本地 ISO 绑定到/custom.iso,后者会跳过下载直接使用。

Q:容器提示 KVM 不可用怎么办?先确认 BIOS 虚拟化与宿主机的嵌套虚拟化支持。若kvm-ok通过但容器仍不可用,可临时在 compose 中加privileged: true排除设备权限问题。

它不适合什么场景

  • GPU 密集型负载:硬件虚拟化不支持显卡直通,游戏、图形渲染类工作不要指望它
  • 浏览器里的长时间重度操作:网页查看器的响应和功能弱于 RDP,长会话办公应走 RDP
  • 无 KVM 的宿主:Linux/macOS 的 Docker Desktop、Windows 10 均不支持,Windows 11 宿主需开启嵌套虚拟化
  • 授权责任自负:项目本身开源且不随附 Windows,需自行确保拥有有效许可

这个方案的核心是把下载、分区、安装都交给容器完成,宿主只负责提供 KVM 和存储。如果环境检查全部通过,整个部署就是一次docker compose up -d,剩下的是在浏览器里等下载完成。

【免费下载链接】windowsWindows inside a Docker container.项目地址: https://gitcode.com/GitHub_Trending/wi/windows

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 9:58:46

从行为记录到本地审计:自建活动日志系统实践指南

“Everything You Do Is Being Recorded”,这句话放到今天,不是一句网络段子,而是一句工具级的描述。操作系统会记录活动历史,浏览器会保留访问记录,输入法会保存输入习惯,AI 工具会把你的提问和文件内容一…

作者头像 李华
网站建设 2026/8/30 9:57:38

SITE.md与DESIGN.md的分工:stitch-skills两大章程文件详解

SITE.md与DESIGN.md的分工:stitch-skills两大章程文件详解 【免费下载链接】stitch-skills A library of Agent Skills designed to work with the Stitch MCP server. Each skill follows the Agent Skills open standard, for compatibility with coding agents s…

作者头像 李华
网站建设 2026/8/30 9:55:48

LIS3DH接线实战:INT1、SDA、SCL关键引脚与I2C通信避坑指南

搞过几块LIS3DH之后,我发现这芯片有个挺有意思的现象:封装小、焊盘少、外围电路看着几乎为零,可真正接线调试时翻车的人一点都不少。你明明把VDD、VDD_IO、GND、SDA、SCL都接上了,再加一根INT1中断线,怎么就读不到数据…

作者头像 李华