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
下面简单介绍下如何设置参数:
- 如何选择 Windows 的版本?
默认情况下,将安装Windows 11。但是,你可以设置VERSION
环境变量指定要下载的Windows版本:
environment:
VERSION: "win11"
支持设置为以下Windows 版本:
- win11
- win10
- win81
- win22
- win19
- win16
- 如何设置CPU或RAM的数量?
默认情况下,会分配2个CPU核心和4 GB RAM给容器,这是Windows 11的最低要求。使用下面环境变量可以进行修改:
environment:
RAM_SIZE: "8G"
CPU_CORES: "4"
- 如何更改磁盘的大小?
默认会分配64 GB的磁盘大小,使用下面环境变量可以进行修改:
environment:
DISK_SIZE: "256G"
- 如何更改存储位置?
使用下面环境变量可以设置挂载的存储位置,将示例路径/var/win
替换为你自己机器上的存储文件夹。
volumes:
- /var/win:/storage
- 如何执行手动安装?
默认是自动安装的,如果你想手动执行安装以自定义某些选项,例如选择另一个版本,请添加以下环境变量:
environment:
MANUAL: "Y"
MANUAL: "Y"
表示手工安装,默认是N
,笔者建议改成Y
,可以自定义进行个性化设置。
- 如何自定义 Windows 镜像下载地址?
你可以在VERSION
环境变量中指定URL,以便下载自定义的ISO文件:
environment:
VERSION: "https://example.com/win.iso"
在安装过程中,需要添加一些驱动程序,下面会详细介绍。
3️⃣ 安装Windows
高能预警,以下都是使用手工安装的过程,如果你选择自动安装则就不需要看了!安装的步骤比较多,特别是关于选择驱动的步骤,跟虚拟机安装过程相似,请务必仔细操作,不要遗漏。
1、打开Web页面
使用以上介绍的方法启动Docker容器,稍等片刻后在浏览器中输入IP:8006
,打开 QEMU。
如果显示下面这个界面,那就继续等一会,系统正在下载Windows镜像和安装QEME,等待安装完并启动即可。这个过程可能会比较漫长(跟你的网络下载速度有关),建议先喝杯咖啡或去洗个热水澡~~
出现这个界面就可以正式开始了!选择完语言、时间和货币格式、输入法,然后点下一页
。
2、开始安装
就是点按钮。。然后等待!
3、安装IO驱动程序
这一步是需要安装磁盘驱动程序,点击浏览
。这一步很重要,可别直接跳过了!
选择第一个CD 驱动器(D 盘),并找到amd64/win11
,选中!
选完就是下面所示的情况,继续点击下一页
,等待!
这里其实是根据你选择的Windows版本安装驱动的,图上的11是因为作者用的就是11的版本,假如你用的是win19就选19
4、选择系统版本
这个界面直接点击我没有产品密钥
,你如果有密钥你就输入。
接下来选择一个系统版本,建议选Windwos11 专业版
就够用了,当然你想选其他的咱也拦不住你~~,继续点击下一页
,等待!
嗯,勾选接收许可条款(不接受也不行啊),继续点击下一页
,等待!
5、选择安装类型和网卡驱动
接下来选择哪种安装类型,选自定义!
这个界面要注意了,要加载一下网卡驱动,笔者第一次安装就忽略了,只好重新装了一遍!这一步很重要,可别直接跳过了!
点击加载驱动程序
,在弹出框中选择驱动。
依然是选择第一个CD 驱动器(D 盘),并找到NetKVM\w11\amd64
,选中!
选完就是下面所示的情况,继续点击下一页
,等待!
6、漫长的等待
下图所示啥都不用操作,等着就行了。
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
本文来自博客园,作者:小枫同学,除网络转载的部分,其他版权属于作者和博客园所有,未经作者或博客园许可,禁止转载、复制、重新发布完整或者部分文字、代码、图片等信息,否则将保留追究法律责任的权利(如博客侵权了您的作品,本人再次表示抱歉,请将原创地址发送至下文邮箱,核实后立刻删除。)。查阅文章的同学,由于网络爬虫严重,有些代码并不会完整贴出来或者存在bug,不过你可以发送邮件到xfstune@126.com获取新代码,记得附上文章链接