Windows 装进Docker容器里

381 阅读2分钟

逛GitHub发现一个比较有意思的项目dockur/windows,在Docker里运行windows系统。

环境准备

  • linux 系统
  • doker
  • docker-compose

需要检查操作系统是否支持 KVM,需要先安装 cpu-checker

sudo apt install cpu-checker -y

执行 kvm-ok,看到下面的日志输出则说明OK:

INFO: /dev/kvm exists
KVM acceleration can be used

简单运行

启动一个“无状态”的临时的 Windows 操作系统

version: "3"
services:
  windows:
    image: dockurr/windows
    container_name: windows
    environment:
      VERSION: "win11"
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    stop_grace_period: 2m
    restart: on-failure

将上面的配置保存为 docker-compose.yml,然后使用 docker compose updocker compose -d 启动服务。 系统比较大下载很慢的。

或者,你可使用自己的系统镜像:

VERSION: "https://example.com/win.iso"

也可以使用本地镜像:重命名 custom.iso 并将其放入空的 /storage 文件夹中以跳过下载。 安装之后,就可以在浏览器打开 IP:8006 进行使用了

image.png

使用技巧

更换 Windows 版本

environment:
  VERSION: "win11"

可选版本

ValueDescriptionSourceTransferSize
win11Windows 11 ProMicrosoftFast6.4 GB
win10Windows 10 ProMicrosoftFast5.8 GB
ltsc10Windows 10 LTSCMicrosoftFast4.6 GB
win81Windows 8.1 ProMicrosoftFast4.2 GB
win7Windows 7 SP1Bob PonyMedium3.0 GB
vistaWindows Vista SP2Bob PonyMedium3.6 GB
winxpWindows XP SP3Bob PonyMedium0.6 GB
2022Windows Server 2022MicrosoftFast4.7 GB
2019Windows Server 2019MicrosoftFast5.3 GB
2016Windows Server 2016MicrosoftFast6.5 GB
2012Windows Server 2012 R2MicrosoftFast4.3 GB
2008Windows Server 2008 R2MicrosoftFast3.0 GB
core11Tiny 11 CoreArchive.orgSlow2.1 GB
tiny11Tiny 11Archive.orgSlow3.8 GB
tiny10Tiny 10Archive.orgSlow3.6 GB

调整 Windows 容器资源配置

默认情况下,这个 Windows 容器会使用 vCPU x2、4GB 内存、64G 的磁盘空间,来满足 Win11 的最低安装需求。我们可以根据自己的实际需求,来动态的调整容器的硬件资源限制。

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

比如,在上面的配置中,我们调整 CPU 核心数到 8,内存到 16GB,磁盘到 256GB。

其它

如果是在 WSL 中部署需添加environment配置

    environment:
      BOOT_MODE: "windows_plain"