docker安装windows

声明:文章转载于微信公众号:高等精灵实验室,更多详情请移步原文


保姆级:在NAS上使用Docker跑一个Windows系统,支持远程桌面,有点意思!

​ 原创 诺多 [ 高等精灵实验室 ](javascript:void(0)😉 2024-01-22 07:36 发表于江苏

图片
笔者曾介绍过如何在威联通NAS中使用Docker安装DSM系统,使用起来完全没有问题,甚至还能在DSM中套娃安装Docker,相当哇塞!本篇要介绍的这个好玩意来自天地极限大佬的推荐,就是在 NAS 中使用 Docker 安装一个 Windows 系统(不需要虚拟机,但使用起来类似),与安装 DSM 有异曲同工之妙,下面笔者详细介绍如何操作。

1️⃣ 项目简介

这个项目Github上的一款开源项目,支持Web访问(QEMU)和远程桌面,支持安装以下系列Windows系统:

  • win11 (Windows 11)
  • win10 (Windows 10)
  • win81 (Windows 8.1)
  • win22 (Windows Server 2022)
  • win19 (Windows Server 2019)
  • win16 (Windows Server 2016)

正式开始前温馨提示,请提前做好准备:

  • 确保你的机器支持KVM,可以用下面命令检查是否支持
sudo apt install cpu-checker
sudo kvm-ok

如果kvm ok命令报错了,则表示不能使用kvm,请检查BIOS中的虚拟化设置。

  • 充足的时间,安装过程不(很)快(慢),你可能需要准备好喝点咖啡或洗个热水澡

2️⃣ 启动Docker

下面正式开始!笔者准备了docker和docker-compose两种安装方式,任选一种即可。

1、Docker安装

docker run -it \
-e VERSION="win11" \
-e RAM_SIZE="8G" \
-e CPU_CORES="4" \
-e DISK_SIZE="256G" \
-e MANUAL="N" \
-p 8006:8006 \
-p 3389:3389/tcp \
-p 3389:3389/udp \
-v path/to/windows/storage:/storage \
--device=/dev/kvm \
--cap-add NET_ADMIN \ 
dockurr/windows:latest

2、docker-compose安装

version: "3.9"
services:
  windows:
    image: dockurr/windows:latest
    container_name: windows
    stop_grace_period: 2m
    restart: unless-stopped
    environment:
      VERSION: "win11"
      RAM_SIZE: "8G"
      CPU_CORES: "4"
      DISK_SIZE: "256G"
      MANUAL: "N"
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    volumes:
      - /share/documents/windows/storage:/storage

下面简单介绍下如何设置参数:

  1. 如何选择 Windows 的版本?
    默认情况下,将安装Windows 11。但是,你可以设置VERSION环境变量指定要下载的Windows版本:
environment:
  VERSION: "win11"

支持设置为以下Windows 版本:

  • win11
  • win10
  • win81
  • win22
  • win19
  • win16
  1. 如何设置CPU或RAM的数量?
    默认情况下,会分配2个CPU核心和4 GB RAM给容器,这是Windows 11的最低要求。使用下面环境变量可以进行修改:
environment:
  RAM_SIZE: "8G"
  CPU_CORES: "4"
  1. 如何更改磁盘的大小?
    默认会分配64 GB的磁盘大小,使用下面环境变量可以进行修改:
environment:
  DISK_SIZE: "256G"
  1. 如何更改存储位置?
    使用下面环境变量可以设置挂载的存储位置,将示例路径/var/win替换为你自己机器上的存储文件夹。
volumes:
  - /var/win:/storage
  1. 如何执行手动安装?
    默认是自动安装的,如果你想手动执行安装以自定义某些选项,例如选择另一个版本,请添加以下环境变量:
environment:
  MANUAL: "Y"

MANUAL: "Y"表示手工安装,默认是N,笔者建议改成Y,可以自定义进行个性化设置。

  1. 如何自定义 Windows 镜像下载地址?
    你可以在VERSION环境变量中指定URL,以便下载自定义的ISO文件:
environment:
  VERSION: "https://example.com/win.iso"

在安装过程中,需要添加一些驱动程序,下面会详细介绍。

3️⃣ 安装Windows

高能预警,以下都是使用手工安装的过程,如果你选择自动安装则就不需要看了!安装的步骤比较多,特别是关于选择驱动的步骤,跟虚拟机安装过程相似,请务必仔细操作,不要遗漏。

1、打开Web页面

使用以上介绍的方法启动Docker容器,稍等片刻后在浏览器中输入IP:8006,打开 QEMU。

如果显示下面这个界面,那就继续等一会,系统正在下载Windows镜像和安装QEME,等待安装完并启动即可。这个过程可能会比较漫长(跟你的网络下载速度有关),建议先喝杯咖啡或去洗个热水澡~~

出现这个界面就可以正式开始了!选择完语言、时间和货币格式、输入法,然后点下一页
image-20240129094638667

2、开始安装

就是点按钮。。然后等待!
image-20240129094650612

3、安装IO驱动程序

这一步是需要安装磁盘驱动程序,点击浏览这一步很重要,可别直接跳过了!
image-20240129094720477
选择第一个CD 驱动器(D 盘),并找到amd64/win11,选中!

选完就是下面所示的情况,继续点击下一页,等待!
image-20240129094738336

这里其实是根据你选择的Windows版本安装驱动的,图上的11是因为作者用的就是11的版本,假如你用的是win19就选19

4、选择系统版本

这个界面直接点击我没有产品密钥,你如果有密钥你就输入。

接下来选择一个系统版本,建议选Windwos11 专业版就够用了,当然你想选其他的咱也拦不住你~~,继续点击下一页,等待!

嗯,勾选接收许可条款(不接受也不行啊),继续点击下一页,等待!

5、选择安装类型和网卡驱动

接下来选择哪种安装类型,选自定义!

这个界面要注意了,要加载一下网卡驱动,笔者第一次安装就忽略了,只好重新装了一遍!这一步很重要,可别直接跳过了!

点击加载驱动程序,在弹出框中选择驱动。
image-20240129094953705
依然是选择第一个CD 驱动器(D 盘),并找到NetKVM\w11\amd64,选中!
image-20240129095010622

选完就是下面所示的情况,继续点击下一页,等待!
image-20240129095022918

6、漫长的等待

下图所示啥都不用操作,等着就行了。
image-20240129095039906

7、个性化设置

下面到了简简单单的过程了,没啥好特殊说的。

选择系统语言,随你便,自己能认识就行。

设置默认键盘布局,随你便,自己会用就行。

设置第二个键盘布局,随你便,自己不怕麻烦就行。

设置主机名,随你便,自己喜欢就行。

接下来又是一段时间的等待吧,系统会开始自动重启一次。然后会到网络连接界面,直接点击下一步

这个就不用多说了,选第一个就行,继续下一步

这个界面可以登录你的 Microsoft 网络账号,如果点击登录后提示无法连接网络就多试几次,几次之后依然不行,会跳到创建本地账号界面。

8、创建本地账号和隐私设置

如果一直无法联网,系统会自动转换到使用本地账号登录。这时候会要求你输入用户名,继续点击下一页

输入一个密码,并确认密码,连续点击下一页

创建本地账户需要设置三个安全问题(烦啊!),自己看着办设置就行。连续点击下一页

这个自己看着选,点击下一页进行选择,最后点接受。然后又是等待系统重启,准备迎接成功的喜悦吧!

9、别急,就快好了

说要等几分钟,那就等呗~~

继续点击下一步

终于进入系统了!

10、别急,还差一步

凑个十全十美,进入系统后,打开文件管理器中的E盘,找到virtio-win-gt-x64.msi,双击安装它,一路默认下一步就行。

现在,一个跑在Docker中的Windows已经安装完成啦,剩下的如何使用Windows笔者就不啰嗦啦,尽情享受吧!

4️⃣ 远程连接Windows

与正常Windows远程桌面没什么区别,如果你是在外网访问家中NAS中的Windows,别忘了到路由器中添加以下3389端口的映射哦,否则是连不上的。

原创不易,如果觉得此文对你有帮助,不妨点赞+收藏+关注,你的鼓励是我持续创作的动力!

我的构建命令(如果要彻底删除,在删除容器后需要删除/share/documents/windowsltsc10/storage这个目录)

sudo docker run -itd \
	-e VERSION="ltsc10" \
	-e RAM_SIZE="4G" \
	-e CPU_CORES="2" \
	-e DISK_SIZE="100G" \
	-e MANUAL="Y" \
	-e VERSION="http://local.xfnes.top/SW_DVD9_WIN_ENT_LTSC_2021_64BIT_ChnSimp_MLF_X22-84402.ISO" \
	-p 8007:8006 \
	-p 3389:3389/tcp \
	-p 3389:3389/udp \
	-v /share/documents/windowsltsc10/storage:/storage \
	--device=/dev/kvm \
	--cap-add NET_ADMIN \
	--name=winltsc10 \
	dockurr/windows:latest
posted @ 2024-01-29 09:57  小枫同学  阅读(893)  评论(0编辑  收藏  举报