dockur/windows 项目入门与原理介绍

dockur/windows 项目入门与原理介绍

项目概述

dockur/windows 是一个开源项目,它允许用户在 Docker 容器中运行完整的 Windows 操作系统(从 Windows XP 到 Windows 11 及 Server 版本)。该项目通过结合 QEMU、KVM 和 noVNC 技术,实现了 Windows 系统的轻量化容器化部署。

项目地址

https://github.com/dockur/windows

核心特性

  • 多版本支持:支持 Windows XP/7/8/10/11 及 Server 版本
  • 硬件加速:利用 KVM 虚拟化技术提供接近原生性能
  • Web 访问:内置 noVNC 支持通过浏览器访问 Windows 桌面
  • 自动安装:可自动从微软服务器下载所需 Windows 版本
  • 资源定制:可配置 CPU 核心数、内存大小和磁盘空间

技术原理

  1. 虚拟化层:使用 QEMU 模拟硬件环境,配合 KVM 加速
  2. 容器集成:将 QEMU 虚拟机封装在 Docker 容器中管理
  3. 远程访问
    • noVNC 提供基于浏览器的图形界面(端口8006)
    • RDP(端口3389)支持更高效的远程桌面连接
  4. 自动化部署:通过预设的应答文件实现无人值守安装

快速入门

基础部署命令

1、使用KVM方式的配置,docker-compose.yml

services:
  windows:
    privileged: true
    image: dockurr/windows
    container_name: windows
    environment:
      VERSION: "xp"
      DISK_SIZE: "10G"
      USERNAME: "bill"
      PASSWORD: "gates"
      RAM_SIZE: "3G"
      CPU_CORES: "2"
    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

2、不使用kvm的方式,docker-compose.yml

services:
  windows:
    privileged: true
    image: dockurr/windows
    container_name: windows
    environment:
      VERSION: "xp"
      DISK_SIZE: "10G"
      USERNAME: "bill"
      PASSWORD: "gates"
      RAM_SIZE: "3G"
      CPU_CORES: "2"
      # 将kvm设置为N,这个是从日志中看到的
      KVM: "N"
    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

性能考虑

  1. 使用KVM:获得更快的执行速度和更低的资源消耗。
  2. 不使用KVM:性能下降明显,但依然可以在不支持KVM的环境中运行。

FAQ

1. 如何检查环境是否支持KVM
cat /proc/cpuinfo | egrep 'vmx|svm'
# 如果输出中包含svm或vmx,表示CPU支持虚拟化。



lsmod | grep kvm
# 如果有信息显示说明kvm被加载

# 查看是否有目录 /dev/kvm
2. vmware虚拟机上如何启用kvm

虚拟机设置时需要给CPU开启虚拟化选项,选择:虚拟化启用intel vt…

结语

dockur/windows项目为开发者和用户提供了一种在Docker中运行Windows系统的简便方法,适用于测试、开发或运行特定的Windows应用程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值