尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

在 Docker 容器里跑 Windows:Dockur/Windows 最小部署与故障排查指南

在 Docker 容器里跑 Windows:Dockur/Windows 最小部署与故障排查指南 在 Docker 容器里跑 Windows:Dockur/Windows 最小部署与故障排查指南【免费下载链接】windowsWindows inside a Docker container.项目地址: https://gitcode.com/GitHub_Trending/wi/windowsDockur/Windows 把一套 Windows 系统装进 Docker 容器:启动容器后自动下载官方 ISO 并完成安装,装好后可通过浏览器或 RDP 使用。它适合想在 Linux 上临时开一台 Windows 做测试的人。本文按实际部署顺序组织:先判断环境是否合适,再给出最短部署路径、结果验证方式和失败排查顺序,照着做可以完成一次完整部署。先判断适不适合你的环境适合使用:你有一台 Linux 主机,装了 Docker 或 Podman,且 CPU 支持 KVM 硬件虚拟化。需要一台可丢弃的 Windows 做软件测试、兼容性验证或教学演示,用完删掉即可。需要运行老系统(Windows 95/98/XP/7、Vista)或 Windows Server 2003 至 2025,手动装镜像麻烦。谨慎选择:你在 Linux、macOS 或 Windows 10 上用的是 Docker Desktop:资料明确这类环境无法给容器提供 KVM 访问,不受支持。Windows 11 上的 Docker Desktop 需要先开启嵌套虚拟化才能用。宿主硬件没有 VT-x / AMD-V,或你用的 VPS、云平台不支持嵌套虚拟化。需要 GPU 图形加速的场景:该能力目前仍是实验性质。部署前的最小检查项开始之前,逐项确认以下条件,每项都有对应的验证方法:检查项怎么验证通过标准容器运行时确认已安装 Docker 或 Podman 并能正常运行能正常启动容器KVM 加速安装cpu-checker后执行检查命令(见下)输出KVM acceleration can be used,且/dev/kvm设备存在内存确认宿主可用内存官方要求至少 2 GB;默认给 Windows 分配 4 GB,建议按 4 GB 以上准备磁盘确认存储目录所在分区空闲空间官方下限 32 GB;默认虚拟磁盘就是 64 GB,建议实际空闲空间明显大于此值网络确认能访问微软官方下载源安装过程会自动下载 0.1 GB 至 7.9 GB 不等的 ISO,网络不稳会卡在下载阶段KVM 验证命令:sudo kvm-ok ls -l /dev/kvm一条最短可用路径:用 Compose 启动容器仓库自带可直接使用的 compose.yml,克隆后在目录下启动即可,不需要手写配置:git clone https://gitcode.com/GitHub_Trending/wi/windows cd windows docker compose up -d执行前请确认:该命令会下载容器镜像,容器启动后还会自动下载 Windows ISO 并执行安装,整个过程耗时取决于网络和所选版本大小。如果你不想克隆仓库,自己写 compose 文件时,关键字段就是下面这些(完整版以仓库 compose.yml 为准):services: windows: image: dockurr/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]其中./windows:/storage是系统盘存放位置,建议保留,方便容器重建后系统数据还在;VERSION: 11表示安装 Windows 11 专业版,不写默认也是它。可选方式:习惯纯命令行的人可以用docker run一条命令启动,参数与上面的 compose 等价;已有 K8s 集群的,仓库提供了 kubernetes.yml,其中 PVC 默认请求 64 GiB 存储。另外 WinBoat、WinPodX、WinApps 等桌面应用也是把这个容器当后端使用的。关键选项:版本、资源、存储怎么选只保留日常最常改的四项,其余参数默认值即可:选项默认值什么情况下调整VERSION11(Win11 专业版,ISO 约 7.9 GB)想省下载和磁盘空间用11l(LTSC,4.7 GB);测老软件用7u(Win7,3.1 GB);需要服务器用2022(6.0 GB)或2025(7.6 GB)RAM_SIZE/CPU_CORES4G / 2 核安装或使用时明显卡顿再调大,如RAM_SIZE: 8G、CPU_CORES: 4DISK_SIZE64G要装大型软件时调大,如DISK_SIZE: 256G;也可对已有磁盘扩容,但扩容后多出的空间需在 Windows 里手动扩展分区文件共享未启用挂载一个主机目录到容器内/shared,安装后桌面会出现Shared文件夹,同时是盘符Z:,用来在主机和 Windows 之间传文件几个容易忽略的默认行为:默认创建的用户是Docker,密码admin,开机自动登录;想换账号用USERNAME/PASSWORD设置。默认下载英文系统,语言用LANGUAGE指定(如Chinese)。默认不向浏览器传音频,需要时设AUDIO: Y,再在网页查看器的 Settings → Advanced 里打开 Audio。怎么确认已经装成功按这个顺序验证,每一步都有明确判断标准:容器是否启动:执行docker logs windows查看日志,若出现 KVM 不可用、内存不足等报错,直接跳到下一节的排查。安装是否在进行中:浏览器打开http://127.0.0.1:8006/,能看到 Windows 安装画面且自动推进,说明容器和下载都正常。整个安装无需人工操作。安装是否完成:浏览器里出现 Windows 桌面,即表示安装结束、系统可用。日常使用是否可用:用任意 RDP 客户端连接。compose 里映射了 3389 端口时,直接连127.0.0.1:3389,账号Docker、密码admin,能登录桌面即通。共享是否生效(如有配置):桌面上出现Shared文件夹,说明文件共享挂载成功。资料里特别提示:网页查看器响应不如 RDP 流畅,也不支持剪贴板共享,它主要用于安装阶段;日常使用建议走 RDP。失败时按什么顺序排查不要一次改多处,按下面顺序逐项排除:容器起不来,或日志提示 KVM 不可用先跑kvm-ok:如果未通过,检查 BIOS/UEFI 里是否开了 Intel VT-x 或 AMD-V;宿主本身是虚拟机时,还要确认开了嵌套虚拟化。如果kvm-ok通过但容器仍报 KVM 不可用,可能是权限或设备访问问题:资料建议在 Compose 里临时加privileged: true验证一次,确认是权限问题后再去掉,改用正确的设备挂载和权限配置。启动时内存检查失败容器默认开启宿主内存检查(RAM_CHECK默认为Y),而RAM_SIZE默认 4G。宿主可用内存不够时它不会启动;增加宿主内存或调低RAM_SIZE。卡在 ISO 下载先确认宿主网络到微软下载源的连通性;再看/storage所在分区的空闲空间是否够(ISO 大小加 64 GB 虚拟盘)。能进系统但操作卡顿判断标准:如果只有网页里卡、RDP 里流畅,那是查看器本身的延迟,换 RDP 即可;两种都卡时再调大RAM_SIZE和CPU_CORES。安装完成后桌面没有 Shared 文件夹检查 compose 里是否把主机目录挂载到了/shared,路径不存在时容器侧可能自动创建空目录,但主机侧路径权限要能读写。进阶能力与边界以下能力资料中都有明确支持,用到时再配置:让 Windows 拥有独立 IP:创建 macvlan 网络并在 compose 中指定固定 IP,之后可以免端口映射访问所有服务;注意 macvlan 的设计决定了 Docker 宿主访问不到这个 IP。在此基础上设DHCP: Y并挂载/dev/vhost-net,Windows 还能像真实 PC 一样从路由器 DHCP 获取地址。安装后自动执行任务:设COMMAND跑单条命令,或把含install.bat的文件夹挂到/oem,安装最后阶段会自动执行,适合批量预装软件。自定义镜像:VERSION填 ISO 的下载 URL,或把本地 ISO 挂载为/custom.iso直接跳过下载。USB 直通:用lsusb查设备 ID,通过ARGUMENTS传入。资料明确警告:安装完成前接入 USB 大容量存储设备,可能把它格式化成系统盘导致数据丢失,首次启动务必断开。域环境:设DOMAIN/DOMAIN_OU可在安装时自动加入 Active Directory,前提是 Windows 能通过域 DNS 解析并访问域控。边界提醒:GPU 加速是实验功能;ARM64 架构的 Windows 不在本容器范围内(资料指向单独的 windows-arm 项目);本项目只含开源代码、不分发 Windows,产品密钥仅为微软公开的通用安装密钥,激活和许可合规由使用者自行负责。全部环境变量的清单见 docs/environment.md。小结这个项目适合有 KVM 的 Linux 主机 想要临时 Windows 环境的用户:最短路径是克隆仓库后docker compose up -d,装好与否看 8006 端口的浏览器页面是否出现桌面,日常使用走 RDP。跑通之后,可按需扩展版本选择、磁盘扩容、文件共享、独立 IP 和安装后脚本这几类配置。【免费下载链接】windowsWindows inside a Docker container.项目地址: https://gitcode.com/GitHub_Trending/wi/windows创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表