<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="在Docker中跑Windows系统，支持远程桌面">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2024-02-02 13:37<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
在Docker中跑Windows系统，支持远程桌面




Github：https://github.com/dockur/windows


Dockerhub：https://hub.docker.com/r/dockurr/windows


教程：https://mp.weixin.qq.com/s/gsOqn4V441g_RVtrRtbUqg


这个项目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中的虚拟化设置。


也可以使用命令


ls /dev/kvm


回显正常就表示硬件支持kvm，如果返回找不到的错误提示，就说明硬件不支持，不能安装win系统。因为是kvm虚拟机，需要网上下载ISO文件，所以安装过程较慢。


安装Docker：


#安装docker+Portainer




XML/HTML代码


    bash &lt;(curl -sL https://iii80.com/sh/docker.sh)

    bash &lt;(curl -sL https://iii80.com/sh/docker-cn.sh)





安装WIN系统：


1、Docker安装








XML/HTML代码


    docker run -it \

    -e VERSION=&quot;win11&quot; \

    -e RAM_SIZE=&quot;8G&quot; \

    -e CPU_CORES=&quot;4&quot; \

    -e DISK_SIZE=&quot;256G&quot; \

    -e MANUAL=&quot;N&quot; \

    -p 8006:8006 \

    -p 3389:3389/tcp \

    -p 3389:3389/udp \

    -v /opt/windows/storage:/storage \

    --device=/dev/kvm \

    --cap-add NET_ADMIN \

    dockurr/windows:latest




2、docker-compose安装




XML/HTML代码


    version: &quot;3.9&quot;

    services:

      windows:

        image: dockurr/windows:latest

        container_name: windows

        stop_grace_period: 2m

        restart: unless-stopped

        environment:

          VERSION: &quot;win11&quot;

          RAM_SIZE: &quot;8G&quot;

          CPU_CORES: &quot;4&quot;

          DISK_SIZE: &quot;256G&quot;

          MANUAL: &quot;N&quot;

        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: &quot;win11&quot;


支持设置为以下Windows 版本：


win11  win10  win81  win22  win19  win16






如何设置CPU或RAM的数量？


默认情况下，会分配2个CPU核心和4 GB RAM给容器，这是Windows 11的最低要求。使用下面环境变量可以进行修改：


environment:


  RAM_SIZE: &quot;8G&quot;


  CPU_CORES: &quot;4&quot;


如何更改磁盘的大小？


默认会分配64 GB的磁盘大小，使用下面环境变量可以进行修改：


environment:


  DISK_SIZE: &quot;256G&quot;


如何更改存储位置？


使用下面环境变量可以设置挂载的存储位置，将示例路径/var/win替换为你自己机器上的存储文件夹。


volumes:


  - /var/win:/storage


如何执行手动安装？


默认是自动安装的，如果你想手动执行安装以自定义某些选项，例如选择另一个版本，请添加以下环境变量：


environment:


  MANUAL: &quot;Y&quot;


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

如何自定义 Windows 镜像下载地址？


你可以在VERSION环境变量中指定URL，以便下载自定义的ISO文件：


environment:


  VERSION: &quot;https://example.com/win.iso&quot;


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

安装Windows


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

1、打开Web页面


使用以上介绍的方法启动Docker容器，稍等片刻后在浏览器中输入IP:8006，打开 QEMU。和正常安装win11一样。远程连接Windows，与正常Windows远程桌面没什么区别，如果你是在外网访问家中NAS中的Windows，到路由器中添加以下3389端口的映射。


如果出现以下错误提示




XML/HTML代码


    [+] Got latest ISO download link (valid for 24 hours): https://software.download.prss.microsoft.com/dbazure/Win11_23H2_English_x64v2.iso?t=d0b28e69-3569-456b-9d75-be349aa75e4c&amp;e=1706404335&amp;h=89a4e2cb1a9a97e4f43a1c947f42d2942330873b7aefdc347086ddeba5c5f517  

    curl: (35) OpenSSL/3.1.4: error:0A00042E:SSL routines::tlsv1 alert protocol version[!] Curl terminated due to a fatal signal![!] 1 attempted download(s) failed! Please re-run Mido with these arguments to try downloading again (any partial downloads will be resumed): win11x64  

    [+] Finished! Please see the above errors with information  

    ❯ ERROR: Failed to download win11x64




说明下载出错，此时解决方法很简单，拷贝错误信息里面的下载地址，手动下载一下，或者下载自己喜欢的系统ISO，然后把下载后的 iso 安装文件拷贝到 自己设置的存储  /opt/windows/storage 目录下面，并且改名为 custom.iso，然后重新创建系统就可以正常进行了。


</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
