Py学习  »  docker

9.1K star!在docker中运行windows,这个项目牛逼!

开源先锋 • 1 月前 • 115 次点击  

* 戳上方蓝字“开源先锋”关注我


推荐阅读:

7.9k star!一个手机上体验Win系统的开源项目,有点意思!



大家好,我是开源君!

众所周知,Docker 是一种轻量级的虚拟化技术,可以将应用程序及其依赖项打包成一个镜像,并在任何环境中运行。然而,传统的 Docker 容器只能运行 Linux 应用。

今天分享一个最近很火的开源项目,可以实现在docker中运行win系统。

项目简介

dockur/windows 项目基于 noVNC 和 QEMU 来模拟 Windows 环境。该项目提供了一个名为 windows 的镜像,其中包含了运行 Windows 所需的所有文件。我们可以使用 Docker 命令来启动该镜像,并获得一个完整的 Windows 桌面环境。

目前支持windows系统的版本有:

项目开源短短2个多月,收获了9k+ star!

性能特色

  • 开箱即用,无需复杂配置
  • 支持自定义 CPU/RAM 数量、磁盘大小
  • 为容器分配单独的 IP 地址
  • 支持 Win7/Win8/Win10/Win11/tiny10 等版本
  • 通过 Web 浏览器实时查看和控制 Windows 容器的桌面,无需安装额外的软件或插件
  • 内置 ISO 下载器,自动下载 Windows 版本的 ISO 文件
  • 支持使用 Linux KVM 为 Windows 容器提供硬件虚拟化的加速
  • 与主机共享文件、安装自定义镜像
  • 提供 DHCP、自定义 IP 地址、磁盘映射、USB 映射等功能

安装使用

docker-compose.yml方式

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

docker run方式

docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows

如果你要安装其他系统,只需要在命令中添加 -e win10

可能有的朋友下载时候的速度会很慢,你也可以使用自己的系统镜像:

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

也可以使用本地镜像,只需要iso文件重命名为 custom.iso ,之后放入到空的 /storage 文件夹里面,就可以跳过下载。

默认会安装 Win11,分配 2 个 CPU 核心和 4 GB 内存,以及 64GB 硬盘大小。

如果想修改,可以添加环境变量:

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

此外,dockur/windows 提供了DHCP、自定义IP地址、磁盘映射、USB映射、KVM支持等能力,具体的变量参数设置可以自行在项目主页查看。

安装之后,就可以在浏览器打开 IP:8006 进行使用了

效果展示

有小伙伴可能会担心,这个项目合法吗,会有侵权风险吗?

项目作者表示,该项目仅包含开源代码,不会分发任何受版权保护的材料。代码中发现的任何产品密钥都只是微软提供的用于试用目的的通用产品密钥。因此,根据所有适用法律,该项目都被认为是合法的。

作者还强调,本项目提及的产品名称、标识、品牌和其他商标均为其各自商标持有人的财产。该项目与微软公司无关联、赞助或认可。

关于更多项目细节功能,可以自行到项目地址查看吧~~

项目地址:
https://github.com/dockur/windows

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/168203
 
115 次点击