十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Docker 容器运行 Windows 完整指南:从 Compose 一键装到 K8s 生产部署

Docker 容器运行 Windows 完整指南:从 Compose 一键装到 K8s 生产部署 Docker 容器运行 Windows 完整指南从 Compose 一键装到 K8s 生产部署【免费下载链接】windowsWindows inside a Docker container.项目地址: https://gitcode.com/GitHub_Trending/wi/windowsDockur/Windows 做的事听起来有点激进把一整套 Windows 装进 Docker 容器运行。它替你包办最烦的几步——从微软官方源拉取 ISO、生成无人值守应答文件、自动装完系统再用 KVM 起一台接近原生速度的虚拟机全程不用你点鼠标。装好后你可以用浏览器打开 8006 端口盯着安装进度或者直接用 RDP 远程桌面3389 端口日常使用。这篇指南带你从一条 Compose 配置起步走到资源调优、独立 IP、加域直到 K8s 生产部署结尾附一份排障对照表。它替你自动做了什么从 ISO 到可远程的整机传统上自己搭你要准备镜像、写应答文件、盯安装、配驱动、挂网络。这个容器把这些都封装进了启动脚本 src/entry.sh它按序加载下载、应答、磁盘、网络、显示、Samba 共享等模块最后拉起 QEMUq35机型 virtio 设备 KVM 加速。几个能帮你省事的点现代版本Win7 及以上用 unattend XML 做无人值守安装模板按「版本 × 架构 × 版式」分别放在 assets/ 里例如 assets/win11x64.xml 对应 Win11 x64老一点的 Win9x 走批处理NT5 走 SIF见 src/legacy.sh。ISO 直接从微软官方渠道下载逻辑在 src/mido.sh装完默认自动删掉镜像省空间。起完机就给你两条路网页界面安装期友好和 RDP日常更跟手。你不需要理解这些脚本但知道它们存在排障时就知道去哪翻。动手前确认 KVM 与硬件底线真正卡脖子的只有一件事——KVM 硬件虚拟化。先验证它可用sudo apt install cpu-checker sudo kvm-ok # 期望输出KVM acceleration can be used ls -l /dev/kvm # 设备应存在其余要求并不高项目底线CPU 虚拟化Intel VT-x / AMD-V且 BIOS 已开启内存2 GB 可用默认分配给 Windows 4 GB磁盘32 GB 空闲默认系统盘 64 GB运行时Linux 上的 Docker 或 Podman一个常见坑Docker Desktop 在 Linux、macOS 和 Windows 10 上拿不到/dev/kvm所以不支持在 Windows 11 桌面版上则必须打开嵌套虚拟化。三种方式拉起容器Compose、CLI、K8s按你的使用场景选别一刀切。场景一单机常驻 → Docker Compose最省心重启策略、停止宽限都写好。仓库自带 compose.yml核心就这几行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 # RDP 远程桌面 volumes: - ./windows:/storage # 系统盘 下载缓存务必持久化 restart: always stop_grace_period: 2m # 给 Windows 留足关机时间场景二临时验证 → 一条 docker run只想快速确认 KVM 通不通直接跑docker run -it --rm --name windows \ -e VERSION11 -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场景三生产集群 → Kubernetes要长期稳定、可调度时交给 K8s。仓库里的 kubernetes.yml 已经打包好 PVC64 Gi、DeploymentRecreate策略、挂载/dev/kvm与/dev/net/tun和 Service一条命令上线kubectl apply -f kubernetes.yml如果你要的是带图形客户端的桌面体验WinBoat、WinPodX、WinApps 这类工具都把本容器当后端直接复用即可。选版本Windows 版本对照表VERSION决定装什么不填默认是11Win11 Pro。覆盖从 95 到 Server 2025 的跨度常用值如下值版本镜像大小11Windows 11 Pro7.9 GB11lWindows 11 LTSC4.7 GB10Windows 10 Pro5.7 GB8eWindows 8.1 Enterprise3.7 GB7uWindows 7 Ultimate3.1 GBvuWindows Vista Ultimate3.0 GBxpWindows XP Professional0.6 GB2kWindows 2000 Professional0.4 GB2025Windows Server 20257.6 GB2019Windows Server 20195.3 GB2003Windows 20030.6 GBtiny11Tiny115.3 GBreactosReactOS0.1 GB两个灵活用法把VERSION填成一个 URL 就能装任意自定义 ISO或者把本地 ISO 绑定进容器./my.iso:/custom.iso跳过下载。更完整的清单见 docs/environment.md。装完怎么用网页、RDP 与文件共享浏览器还是 RDP安装阶段用浏览器访问http://127.0.0.1:8006/能看到进度、不用装客户端。日常使用切 RDP 更跟手还带剪贴板共享。用任意微软远程桌面客户端连到容器 IP账号Docker、密码admin。想要声音的话加AUDIO: Y再在网页设置里打开 Audio。主机和 Windows 之间传文件装完桌面会有一个Shared文件夹。想让主机某个目录变成它就加一条绑定volumes: - ./shared:/shared # 主机目录进 Windows 后是桌面 Shared / Z: 盘底层是 Samba 实现的共享大文件走这里最省事。改 CPU、内存、磁盘、账号默认是 2 核 / 4 GB / 64 GB 盘按需调变量默认说明RAM_SIZE4G内存可写8G、half、maxCPU_CORES2核心数可写4、half、maxDISK_SIZE64G主盘大小如256GUSERNAME/PASSWORDDocker/admin登录账号内存紧张时还能开动态内存回收BALLOONING: Y宿主机压力上来时自动把闲置的来宾内存吐回去。进阶配置独立 IP、加域、装后自动执行让 Windows 拿到独立 IPmacvlan / DHCP默认是 bridge 网络、和主机共用 IP。想让它在局域网里像个真实设备那样向路由器要地址加environment: DHCP: Y devices: - /dev/vhost-net device_cgroup_rules: - c *:* rwm需要固定 IP 时则建一个 macvlan 网络并指定ipv4_address好处是免去端口映射。注意 macvlan 下宿主机默认访问不到那个 IP需要另建一张 macvlan 做回通。加入 Active Directory 域想在安装期自动入域environment: DOMAIN: example.com # 域名不是 URL DOMAIN_OU: OUServers,DCexample,DCcom账号会被加进本地 Administrators 组并在装完后自动登录前提是 Windows 能解析到域控 DNS。安装完成自动执行命令或 OEM 脚本environment: COMMAND: reg add HKLM\Software\Example /v On /t REG_DWORD /d 1 /f要跑脚本或带依赖文件就在目录里放一个install.bat再把它绑定到/oem内容会拷到C:\OEM并在最后一步执行日志可写入C:\OEM\install.log。使用自定义镜像前面提过两种VERSION填 URL或./my.iso:/custom.iso绑定本地文件。按现象排障常见问题定位表现象可能原因处理报 KVM 不可用BIOS 未开 VT-x / 嵌套虚拟化/dev/kvm缺失开虚拟化先临时privileged: true排除权限问题安装卡住或失败网络不稳、内存不足换稳定网络、调大RAM_SIZERDP 连不上未映射 3389、防火墙拦截确认ports里有3389扩容不生效只改了DISK_SIZE在 Windows 磁盘管理里手动扩展分区新空间显示为未分配网页比 RDP 卡正常现象网页面向安装期日常切 RDP装 USB 设备后系统盘被格式化安装未完成就挂存储类 USB首次启动前务必断开 USB 存储设备全部变量速查上面只列了高频项。网络、显示、引导、Samba、气球参数、下载并发等所有开关一张表看全docs/environment.md。最后提一句合规项目本身是开源的不含 Windows 本体代码里的 key 是微软公开的试用安装密钥、并非激活许可能否用取决于你自己的授权。想要源码层面动手git clone https://gitcode.com/GitHub_Trending/wi/windows后从 src/ 和 assets/ 两个目录看起最直观。【免费下载链接】windowsWindows inside a Docker container.项目地址: https://gitcode.com/GitHub_Trending/wi/windows创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表