前言

在容器中运行 Windows 系统听起来可能有些不可思议,但通过 dockurr/windows 项目,我们可以轻松实现这一目标。本文将详细介绍如何使用 Docker 部署 Windows 11 系统,并解决可能遇到的问题。

项目简介

dockurr/windows 是一个基于 QEMU 的 Docker 镜像,允许用户在容器中运行完整的 Windows 系统。该项目运用 noVNC 和 QEMU 技术,提供了一个开源的 Docker 容器解决方案,非常适合进行测试、开发和运行特定的 Windows 应用程序。

核心特性

  • 开箱即用:快速启动,无需繁琐配置
  • 多版本支持:支持从 Windows XP 到 Windows 11 等多个版本
  • Web 界面控制:通过浏览器即可操作 Windows 系统
  • 硬件加速:利用 KVM 技术提供虚拟化加速
  • 远程桌面支持:可通过 RDP 获得更好的使用体验

环境准备

系统要求

  • Linux 系统(推荐 Ubuntu 20.04+ 或 CentOS 8+)
  • Docker 已安装
  • 至少 50GB 可用磁盘空间

安装步骤

本文将以飞牛系统为例

1. 创建 Docker Compose 配置文件

创建一个 docker-compose.yml 文件,内容如下:

version: "3"
services:
  windows:
    image: dockurr/windows
    container_name: windows
    environment:
      VERSION: "11l"           # 系统版本 (11l 为 Windows 11 LTSC)
      DISK_SIZE: "40G"         # 磁盘大小
      CPU_CORES: "2"           # CPU 核心数
      RAM_SIZE: "4G"           # 内存大小
      USERNAME: "Docker"       # 默认用户名
      PASSWORD: "admin"        # 默认密码
    devices:
      - /dev/kvm
      - /dev/net/tun
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006              # Web 访问端口
      - 3389:3389/tcp          # RDP 端口
      - 3389:3389/udp
    volumes:
      - ./windows:/storage     # 存储位置
    restart: no
    stop_grace_period: 2m

0.png

2. 提前下载 Windows 镜像(加速安装)

由于网络原因,直接从 Docker 容器下载 Windows 镜像可能较慢,建议提前下载:

  1. 手动下载 Windows 11 LTSC ISO 镜像文件
  2. 将镜像重命名为 custom.iso
  3. 创建 ./windows/ 目录,将镜像放入该目录

这样启动容器时会自动使用本地镜像,避免漫长的下载等待。

3. 启动容器

容器启动后,系统会自动开始 Windows 安装过程。

4. 通过 Web 界面完成安装

  1. 打开浏览器,访问 http://你的服务器IP:8006
  2. 你将看到 Windows 安装界面,按照提示逐步操作
  3. 系统安装完成后会自动重启,进入 Windows 初始化设置
    2.png

    5. 使用远程桌面连接(推荐)

Web 界面虽然方便,但流畅度有限。建议使用远程桌面连接获得更好体验:

  1. 打开远程桌面客户端(Windows 自带 mstsc,Mac 可使用 Microsoft Remote Desktop)
  2. 输入服务器 IP 地址(无需指定端口)
  3. 使用用户名 Docker 和密码 admin 登录
  4. 享受流畅的 Windows 11 体验

参数详解

系统版本选择

支持多种 Windows 版本,通过 VERSION 环境变量指定:

版本代码系统版本大小
11Windows 11 专业版5.4 GB
11lWindows 11 LTSC4.2 GB
11eWindows 11 企业版5.8 GB
10Windows 10 专业版5.7 GB

资源配置调整

根据实际需求调整资源分配:

environment:
  RAM_SIZE: "8G"      # 内存大小(建议至少 4G)
  CPU_CORES: "4"      # CPU 核心数
  DISK_SIZE: "100G"   # 磁盘大小

常见问题与解决方案

1. BTRFS 文件系统警告

如果使用 BTRFS 文件系统,可能会遇到兼容性问题。解决方案:

# 为 Windows 容器创建专用存储目录(EXT4 文件系统)
sudo mkdir -p /mnt/docker-windows

修改 docker-compose.yml 中的卷映射:

volumes:
  - /mnt/docker-windows:/storage

高级功能

参考github

性能优化建议

  1. 资源分配:根据宿主机的实际资源合理分配 CPU 和内存
  2. SSD 存储:使用 SSD 硬盘提升系统响应速度
  3. RDP 连接:优先使用远程桌面而非 Web 界面

结语

通过 Docker 运行 Windows 11 为开发者和测试人员提供了一个便捷、隔离的运行环境。虽然性能可能不如物理机或完整虚拟机,但对于大多数测试和开发场景已经足够使用。

重要提示:此方案仅适用于测试和开发环境,不建议用于生产环境。确保遵守微软的软件许可协议。

希望本教程能帮助你成功在 Docker 中运行 Windows 11!如有问题,欢迎在评论区讨论。

标签: none

添加新评论