news 2026/8/30 10:39:48

一份 YAML 让 Docker 运行 Windows 容器,从 XP 到 Win11 接近原生性能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一份 YAML 让 Docker 运行 Windows 容器,从 XP 到 Win11 接近原生性能

一份 YAML 让 Docker 运行 Windows 容器,从 XP 到 Win11 接近原生性能

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

Dockur/Windows 用 Docker 运行 Windows:一个容器里装下完整的操作系统,自动下载官方 ISO 并完成安装。读完本文,你可以用一份 Compose 文件拉起 Windows 容器(默认装 Win11),装完直接连桌面。

部署 Docker 运行 Windows 前,验证主机三项条件

三项硬性条件,缺一就会启动失败或没有加速:

  • KVM:宿主机 CPU 支持 KVM 硬件虚拟化(Intel VT-x / AMD-V),BIOS 中已开启,且系统里存在/dev/kvm设备
  • 内存:官方下限 2 GB,而默认配置会分配 4 GB,建议至少 4 GB
  • 磁盘:空闲空间至少 32 GB,默认虚拟盘是 64 GB

验证只需一条命令(没装cpu-checker先装上):

sudo kvm-ok

输出KVM acceleration can be used即通过。如果你的宿主机本身是虚拟机,还得额外打开嵌套虚拟化,否则 KVM 不生效。

用一份 YAML 拉起第一个 Windows 容器

长期运行用 Compose,配置可进版本库,重建容器也不丢状态:

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 stop_grace_period: 2m

其中./windows就是这台"机器"的硬盘:首次装完后系统镜像就落在这个目录里,容器随时可以删掉重建,系统还在。如果只是临时验证环境能不能跑,用一条docker run就够:

docker run -it --rm --name windows -e "VERSION=11" -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v "${PWD:-.}/windows:/storage" --stop-timeout 120 docker.io/dockurr/windows

启动后浏览器打开 127.0.0.1:8006,下载、分区、安装全程自动,看到桌面即完工。网页画面在装机阶段够用,日常使用请接任意 RDP 客户端(3389 已映射,账号Docker,密码admin)。

其他入口,按需取用:

  • Kubernetes:应用 Kubernetes 部署清单,适合团队共享环境
  • Codespaces:没有本地条件也能做 Windows 11 容器部署,直接跑在云端
  • WinBoat / WinPodX / WinApps:图形化桌面工具,后端都是这个容器

调整版本、内存与磁盘

VERSION决定装哪套系统,常用的几个:

取值系统镜像体积
11Windows 11 专业版7.9 GB
11lWindows 11 LTSC4.7 GB
10Windows 10 专业版5.7 GB
7uWindows 7 旗舰版3.1 GB
xpWindows XP 专业版0.6 GB

列表实际从 Windows 95 一路覆盖到 Server 2025,还有 Tiny11,完整取值见仓库的环境变量列表。拿不准就选11;如果目标是长期当服务用而不是当桌面,11l更稳,镜像更小、功能干扰更少。

日常开发测试,4C / 8G / 256G 是舒服的组合(默认只有 2 核 / 4 GB / 64 GB):

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

DISK_SIZE还能给已有磁盘扩容,新增空间会以未分配状态出现,需要在系统里手动扩展分区。

两个开箱即用的能力值得记住:配置DHCP: "Y"(配合 macvlan)后,Windows 会像真实 PC 一样从路由器拿 IP 接入局域网;把宿主目录绑定到/shared,桌面上会出现Shared文件夹(即 Z: 盘),传大文件就走它。

排查性能慢与安装卡住

症状:画面卡顿、操作延迟高 →排查:确认kvm-ok通过且/dev/kvm已映射给容器;KVM 已启用就直接调大RAM_SIZECPU_CORES,虚拟机里最缺的就是内存。

症状:安装长时间卡在下载或安装界面 →排查:检查宿主网络稳定性与磁盘剩余空间;装完以后改用 RDP 操作,别依赖浏览器画面干活。

症状:局域网其他设备连不上容器 →排查:核对 8006 / 3389 端口映射是否正确;需要独立 IP 就按上一节的 macvlan + DHCP 配置走。

Dockur/Windows 把容器化操作系统收进一份 Compose 文件。先拉起来跑一遍,配置不通就把完整配置贴到仓库 Issues 里求助。

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

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

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

公共 Tracker 实操手册:20 个节点治好 0 连接和 99% 卡死

公共 Tracker 实操手册:20 个节点治好 0 连接和 99% 卡死 【免费下载链接】trackerslist Updated list of public BitTorrent trackers 项目地址: https://gitcode.com/GitHub_Trending/tr/trackerslist 连接数 0、速度 20KB/s、下到 99.9% 再也不动——这类…

作者头像 李华
网站建设 2026/8/30 10:37:59

ROS2自动驾驶仿真平台搭建:从Gazebo集成到SLAM导航实战

简介:本资源是一个基于ROS2构建的自动驾驶小车仿真平台,面向机器人方向本科生、研究生及初学者,适用于毕业设计、课程设计与算法验证等实践场景,有效解决真实硬件成本高、调试周期长、环境不可控等开发痛点。压缩包共264个文件&am…

作者头像 李华
网站建设 2026/8/30 10:36:17

Vibe Coding实战:Codex与Claude Code的工程化落地与踩坑指南

Vibe Coding听起来像是“随便聊天就能写代码”,但我在项目里见过的真实情况,往往没有这么性感。有人第一天用Claude Code生成了一整套订单导出脚本,觉得已经掌握了“未来”;第二天脚本接入生产数据,输出表格全乱了&…

作者头像 李华
网站建设 2026/8/30 10:33:07

Real-Time-Voice-Cloning:5 秒克隆任意声音的实时语音克隆方案

Real-Time-Voice-Cloning:5 秒克隆任意声音的实时语音克隆方案 【免费下载链接】Real-Time-Voice-Cloning Clone a voice in 5 seconds to generate arbitrary speech in real-time 项目地址: https://gitcode.com/GitHub_Trending/re/Real-Time-Voice-Cloning …

作者头像 李华