Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
windows — 在Docker容器中运行Windows,支持KVM加速、自动安装和可自定义资源。支持多个Windows版本、USB直通和macvlan网络。 | Kitploit
工具/GitHubGitHub/dockur/windows
通用工具容器安全安全虚拟化云安全
GitHubdockur/windows

windows

在Docker容器中运行Windows,支持KVM加速、自动安装和可自定义资源。支持多个Windows版本、USB直通和macvlan网络。

查看仓库
52.8k4.6k8小时39分前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Windows

Build Version Size Package Pulls

Docker 容器中的 Windows。

功能 ✨

  • 在 Docker 容器内运行 Windows
  • 自动下载并无人值守安装
  • 支持现代和旧版 Windows 版本
  • 借助 KVM 加速实现接近原生的性能
  • 可自定义 CPU、内存和存储分配
  • 通过内存气球(ballooning)实现动态内存分配
  • USB 透传和宿主机文件夹共享
  • 支持 NAT、用户模式、macvlan 和 macvtap 网络

视频 📺

YouTube

使用方法 🐳

Docker Compose:
root@kitploit:~
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
      - 3389:3389/udp
    volumes:
      - ./windows:/storage
    restart: always
    stop_grace_period: 2m
Docker CLI:
root@kitploit:~
docker run -it --rm --name windows -e "VERSION=11" -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:
root@kitploit:~
kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/master/kubernetes.yml
GitHub Codespaces:

Open in GitHub Codespaces

图形安装程序:

下载 WinBoat

要求 ⚙️

  • 在支持 KVM 的 Linux 宿主机上使用 Docker 或 Podman。
  • 在 Windows 11 上使用启用了嵌套虚拟化的 Docker Desktop 或 Podman(桌面版)。
  • 至少 4 GB 可用内存。
  • 至少 64 GB 可用磁盘空间。

[!NOTE] 当前,Linux、macOS 和 Windows 10 上的 Docker Desktop 无法为容器提供 KVM 访问权限,因此不受支持。

常见问题 💬

如何使用?

非常简单!步骤如下:

  • 启动容器,并使用 Web 浏览器连接到 8006 端口。

  • 安坐并静候佳音,整个安装过程将完全自动执行。

  • 一旦看到桌面,您的 Windows 安装即可使用。

享受您全新的机器,别忘了为本仓库加星!

如何选择 Windows 版本?

默认情况下,将安装 Windows 11 专业版。但您可以在 compose 文件中添加 VERSION 环境变量,以指定要下载的其他 Windows 版本:

root@kitploit:~
environment:
  VERSION: "10"

从以下值中选择:

[!TIP] 如需安装 ARM64 版本的 Windows,请使用 dockur/windows-arm。

如何更改存储位置?

要更改存储位置,请在 compose 文件中添加以下绑定挂载:

root@kitploit:~
volumes:
  - ./windows:/storage

将示例路径 ./windows 替换为您想要的存储文件夹或命名卷。

如何更改磁盘大小?

要将默认的 64 GB 空间扩大,请在 compose 文件中添加 DISK_SIZE 设置,并设置为您希望的容量:

root@kitploit:~
environment:
  DISK_SIZE: "256G"

[!TIP] 这也可以用来将现有磁盘扩容,而不会丢失任何数据。不过,之后您需要手动扩展磁盘分区,因为新增的磁盘空间会显示为未分配。

如何与宿主机共享文件?

安装完成后,桌面上会有一个名为 Shared 的文件夹,可用于与宿主机交换文件。

要为这一用途选择宿主机上的文件夹,请在 compose 文件中添加以下绑定挂载:

root@kitploit:~
volumes:
  -  ./example:/shared

将示例路径 ./example 替换为您希望共享的文件夹,之后它将显示为 Shared。

如何更改 CPU 或内存的大小?

默认情况下,Windows 可使用 2 个 CPU 核心和 4 GB 内存。

如果您想调整这些数值,可以使用以下环境变量指定所需数量:

root@kitploit:~
environment:
  RAM_SIZE: "8G"
  CPU_CORES: "4"

如何配置用户名和密码?

默认会创建一个名为 Docker 的用户,密码为 admin。

如果您想在安装期间设置不同的凭据,可以在 compose 文件中配置:

root@kitploit:~
environment:
  USERNAME: "bill"
  PASSWORD: "gates"

如何选择 Windows 语言?

默认情况下,会下载英文版 Windows。

但您可以在 compose 文件中添加 LANGUAGE 环境变量,以指定要下载的其他语言:

root@kitploit:~
environment:
  LANGUAGE: "French"

您可以在以下语言之间选择:🇦🇪 阿拉伯语、🇧🇬 保加利亚语、🇨🇳 中文、🇭🇷 克罗地亚语、🇨🇿 捷克语、🇩🇰 丹麦语、🇳🇱 荷兰语、🇬🇧 英语、🇪🇪 爱沙尼亚语、🇫🇮 芬兰语、🇫🇷 法语、🇩🇪 德语、🇬🇷 希腊语、🇮🇱 希伯来语、🇭🇺 匈牙利语、🇮🇹 意大利语、🇯🇵 日语、🇰🇷 韩语、🇱🇻 拉脱维亚语、🇱🇹 立陶宛语、🇳🇴 挪威语、🇵🇱 波兰语、🇵🇹 葡萄牙语、🇷🇴 罗马尼亚语、🇷🇺 俄语、🇷🇸 塞尔维亚语、🇸🇰 斯洛伐克语、🇸🇮 斯洛文尼亚语、🇪🇸 西班牙语、🇸🇪 瑞典语、🇹🇭 泰语、🇹🇷 土耳其语和 🇺🇦 乌克兰语。

如何选择键盘布局?

如果您想设置所选语言的非默认键盘布局或区域设置,可以像这样添加 KEYBOARD 和 REGION 变量:

root@kitploit:~
environment:
  REGION: "en-US"
  KEYBOARD: "en-US"

如何安装自定义镜像?

若要下载不受支持的 ISO 镜像,请在 VERSION 环境变量中指定其 URL:

root@kitploit:~
environment:
  VERSION: "https://example.com/win.iso"

另外,您也可以跳过下载,改用本地文件,方法是在 compose 文件中以这种方式绑定它:

root@kitploit:~
volumes:
  - ./example.iso:/custom.iso

将示例路径 ./example.iso 替换为您想要的 ISO 文件的文件名。在这种情况下,VERSION 的值会被忽略。

如何在安装后运行脚本?

要在安装后运行您自己的脚本,您可以创建一个名为 install.bat 的文件,并将其与所需的其他文件(例如要安装的软件)一起放在一个文件夹中。

然后在 compose 文件中这样绑定该文件夹:

root@kitploit:~
volumes:
  -  ./example:/oem

示例文件夹 ./example 会被复制到 C:\OEM,该文件夹中的 install.bat 文件将在自动安装的最后一步执行。

如何执行手动安装?

建议采用自动安装的方式,因为它会调整各种设置,以避免在虚拟环境中运行 Windows 时出现的常见问题。

不过,如果您坚持手动安装(风险自负),请在 compose 文件中添加以下环境变量:

root@kitploit:~
environment:
  MANUAL: "Y"

如何使用 RDP 进行连接?

Web 查看器主要供安装期间使用,因为它的响应速度不如 RDP,而且不支持剪贴板共享等功能。

因此,为了获得更好的体验,您可以使用任意 Microsoft 远程桌面客户端,使用用户名 Docker 和密码 admin 连接到容器的 IP 地址。

在 Play Store 中有适用于 Android 的 RDP 客户端,在 Apple Store 中有适用于 iOS 的客户端。在 Linux 上可以使用 FreeRDP,在 Windows 上只需在搜索框中输入 mstsc。

如何启用音频?

默认情况下,除非使用 RDP,否则音频处于禁用状态。要将其流式传输到浏览器,请添加以下环境变量:

root@kitploit:~
environment:
  AUDIO: "Y"

然后在 Web 查看器中,在设置 → 高级下启用音频。该流仅在启用此选项时处于活动状态,否则不会占用额外的带宽。

如何为容器分配独立 IP 地址?

默认情况下,容器使用桥接网络,与宿主机共享 IP 地址。

如果您想为容器分配一个独立的 IP 地址,可以按如下方式创建 macvlan 网络:

root@kitploit:~
docker network create -d macvlan \
    --subnet=192.168.0.0/24 \
    --gateway=192.168.0.1 \
    --ip-range=192.168.0.100/28 \
    -o parent=eth0 vlan

请务必将这些值修改为与您的本地子网一致。

创建好网络后,将您的 compose 文件修改为如下所示:

root@kitploit:~
services:
  windows:
    container_name: windows
    ..<snip>..
    networks:
      vlan:
        ipv4_address: 192.168.0.100

networks:
  vlan:
    external: true

这种方式的另一个好处是,您不再需要进行任何端口映射,因为默认情况下所有端口都会暴露。

[!IMPORTANT]
由于 macvlan 的设计不允许 Docker 宿主机与容器之间进行通信,因此无法从 Docker 宿主机访问此 IP 地址。如果您在意这一点,需要创建一个第二个 macvlan 作为变通方案。

Windows 如何从我的路由器获取 IP 地址?

在将容器配置为 macvlan 后,Windows 可以像真实 PC 一样,通过向路由器请求 IP 来加入您的家庭网络。

要启用此模式(容器和 Windows 将拥有各自的 IP 地址),请在 compose 文件中添加以下行:

root@kitploit:~
environment:
  DHCP: "Y"
devices:
  - /dev/vhost-net
device_cgroup_rules:
  - 'c *:* rwm'

如何添加多个磁盘?

要创建额外的磁盘,请像这样修改 compose 文件:

root@kitploit:~
environment:
  DISK2_SIZE: "32G"
  DISK3_SIZE: "64G"
volumes:
  - ./example2:/storage2
  - ./example3:/storage3

如何透传磁盘?

您可以通过以下方式将磁盘设备或分区直接透传,只需将它们添加到 compose 文件中:

root@kitploit:~
devices:
  - /dev/sdb:/disk1
  - /dev/sdc1:/disk2

如果您希望某个磁盘成为主驱动器(在安装过程中会被格式化),请使用 /disk1;使用 /disk2 及更高编号将其添加为辅助驱动器(这些驱动器将保持原样,不会被改动)。

如何透传 USB 设备?

要透传 USB 设备,请先使用 lsusb 命令查询其厂商 ID 和产品 ID,然后像这样将它们添加到 compose 文件中:

root@kitploit:~
environment:
  ARGUMENTS: "-device usb-host,vendorid=0x1234,productid=0x1234"
devices:
  - /dev/bus/usb

[!WARNING]
在 Windows 安装程序完成之前添加 USB 大容量存储设备可能会导致安装失败。更糟的是:该驱动器可能会被格式化为系统磁盘,您所有的数据都将丢失!因此,在首次启动容器时,请务必保持这些设备处于断开状态。

这些就是全部可用的选项吗?

不是。有关所有受支持设置的完整概述,请参阅环境变量页面。

如何验证 KVM 是否可用?

首先,请确保您的平台和容器运行时满足上文列出的要求。

在 Linux 宿主机上,安装 cpu-checker 并运行:

root@kitploit:~
sudo apt install cpu-checker
sudo kvm-ok

配置正常时应显示:

root@kitploit:~
KVM acceleration can be used

您还可以验证 KVM 设备是否存在:

root@kitploit:~
ls -l /dev/kvm

如果 KVM 不可用,请检查是否存在以下情况:

  • 在 BIOS 或 UEFI 中是否启用了硬件虚拟化(Intel VT-x 或 AMD-V)。
  • 当宿主机本身是虚拟机时,是否启用了嵌套虚拟化。
  • 您的 VPS 或云提供商是否支持嵌套虚拟化。

如果 kvm-ok 成功,但容器仍报告 KVM 不可用,您可以临时在 Compose 文件中添加 privileged: true,以排除权限或设备访问问题。

如何在容器中运行 macOS?

您可以使用 dockur/macos。它拥有许多相同的功能,但自动安装功能除外。

如何在容器中运行 Linux 桌面?

这种情况下,您可以使用 qemus/qemu。

这个项目合法吗?

是的,本项目仅包含开源代码,不分发 Windows 本身。代码中的任何产品密钥都是 Microsoft 为试用目的发布的通用安装密钥,并非有效的激活许可证。

您有责任确保自己拥有有效的 Windows 许可证,并确保您的使用符合 Microsoft 的许可条款。

星标 🌟

Stargazers

免责声明 ⚖️

本项目中所提及的产品名称、徽标、品牌及其他商标均为其各自商标持有人的财产。本项目与 Microsoft Corporation 无任何隶属、赞助或背书关系。

下载工具
值版本大小
11Windows 11 Pro7.9 GB
11lWindows 11 LTSC4.7 GB
11eWindows 11 Enterprise6.6 GB
10Windows 10 Pro5.7 GB
10lWindows 10 LTSC4.6 GB
10eWindows 10 Enterprise5.2 GB
8eWindows 8.1 Enterprise3.7 GB
7uWindows 7 Ultimate3.1 GB
vuWindows Vista Ultimate3.0 GB
xpWindows XP Professional0.6 GB
2kWindows 2000 Professional0.4 GB
2025Windows Server 20257.6 GB
2022Windows Server 20226.0 GB
2019Windows Server 20195.3 GB
2016Windows Server 20166.5 GB
2012Windows Server 20124.3 GB
2008Windows Server 20083.0 GB
2003Windows Server 20030.6 GB