Py学习  »  docker

在 Docker 里跑 Windows?有点离谱,但真能跑~

脚本之家 • 3 天前 • 18 次点击  

将 脚本之家 设为“星标
第一时间收到文章更新

图片
来源 | 菜鸟教程 (ID:runoob)

做开发我平时更多用 macOS,但有时候免不了得在 Windows 上跑点程序,平常的做法当然是开虚拟机装个 Windows,不过有时候真觉得太慢了,启动久,安装还麻烦,如果有更轻松的解决方法就好了。

有一个开源项目,听起来有点离谱——在 Docker 里跑 Windows

开源地址: https://github.com/dockur/windows

现在 Star 数都来到了 45k+,可见欢迎程度:

没错,不是装虚拟机,不是远程桌面,是直接在 Docker 容器里跑一整台 Windows,而且还能在浏览器里打开桌面。

先说 Docker,它本质上是一个轻量级虚拟化工具。简单理解,就是一种把应用和运行环境打包在一起的容器。

容器里有程序运行需要的所有东西:代码、依赖库、配置一应俱全,启动快,占用少,不像传统虚拟机那么笨重。

举个例子,你用 Docker 可以在 Linux 上直接跑 MySQL、Nginx 或 Python,甚至还能隔离不同的环境,互不干扰。

通常 Docker 用来跑 Linux 应用,但 dockur/windows 就有点魔幻——它居然把 Windows 装进 Docker 里,让你也能在容器里跑 Windows 系统。

支持的 Windows 发行版:

安装与使用指南

1、使用 Docker Compose

创建 docker-compose.yml 文件,配置信息如下:

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

2、使用 Docker CLI

不想写 Compose 文件,也可以直接用命令启动:

docker run -it --rm --name windows \-p 8006:8006 \--device=/dev/kvm --device=/dev/net/tun \--cap-add NET_ADMIN \-v "${PWD:-.}/windows:/storage" \--stop-timeout 120 dockurr/windows

3. 通过 Kubernetes

直接应用官方配置文件即可:

kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/master/kubernetes.yml

默认会安装 Windows 11 专业版,如果想安装其他版本,只需在配置文件里加上 VERSION 环境变量即可,例如:

volumes:  - ./windows:/storage

配置好后执行:

docker-compose up -d

几分钟后打开浏览器访问 http://localhost:8006,就能看到 Windows 桌面。

提取 Windows 11 映像:

提取完成后,就开始构建:

然后开始安装:

之后就可以看到 Windows 系统了:

END

图片

  推荐阅读:
  1. 淘宝上卖9块9的DeepSeek,让我看到了被折叠的魔幻世界。
  2. 为什么谷歌要在一门“尚未诞生”的语言上押注 8 年
  3. AI「摆烂」冲上热搜,演都不演了,比打工人还像打工人
  4. 微软疑似暗藏“后门”:用户隐私何存?

  5. 昔日王者TensorFlow,已死







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