飞牛 fnos 使用docker部署 Windows 系统:虚拟机的轻量级替代方案

季春二九 2024-12-16 6 12/16

dockur/windows 开源项目介绍

飞牛系统暂缺官方虚拟机,而 dockur/windows 这个开源项目能让 Windows 系统在 Docker 容器中运行,支持多版本(如 win7、win8、win10、win11、Win Server、Tiny Win)和多语言,很适合开发、测试以及学习场景,可快速搭建且自动部署,稳定又高效,是飞牛系统下 Windows 环境搭建的理想之选。

其具备以下特点:

  • 多系统版本支持:涵盖 win7、win8、win10、win11、Win Server、Tiny Win 等。
  • 支持虚拟化加速
  • 支持自定义 IP 与主机文件共享、磁盘映射、USB 映射

compose 部署 win 系统步骤

  1. 新建文件夹:在任意位置创建一个名为“windows”的文件夹,用于存放 docker-compose.yaml 文件。
    飞牛 fnos 使用docker部署 Windows 系统:虚拟机的轻量级替代方案
  2. 新增项目:使用 docker 的 compose 方式构建,点击新增项目。
    飞牛 fnos 使用docker部署 Windows 系统:虚拟机的轻量级替代方案
  3. 创建项目:输入项目名称,路径选择刚刚创建的“windows”文件夹,点击创建,然后把以下代码拷贝进 docker-compose.yml 文件(创建项目后立即启动打钩,注意看代码注释并根据需求修改):
    飞牛 fnos 使用docker部署 Windows 系统:虚拟机的轻量级替代方案

    services:
      windows:
     image: dockurr/windows
     container_name: windows
     environment:
       VERSION: "7e"        # Windows 版本
       DISK_SIZE: "80G"     # 硬盘大小,单位 G
       RAM_SIZE: "2G"       # 内存大小
       CPU_CORES: "2"       # CPU 核心数
       LANGUAGE: "Chinese"  # Windows 语言中文
       REGION: "zh-CN"     # 区域设置为中文(中国)
       KEYBOARD: "zh-CN"   # 键盘布局为中文(中国)
     devices:
       - /dev/kvm
       - /dev/net/tun
     cap_add:
       - NET_ADMIN
     ports:
       - 8010:8006          # 服务端口
       - 3390:3389/tcp      # RDP(远程桌面协议)
       - 3390:3389/udp
     volumes:
       - /vol1/1000/win7:/storage     # 挂载存储目录
       - /vol1/1000/win7/共享:/data  # 文件共享目录
     stop_grace_period: 2m             # 停止时的宽限时间
     restart: unless-stopped           # 自动重启策略
     tty: true
     stdin_open: true

注意:要把/vol1/1000/win7换成你自己的路径,系统将安装到这个位置,/vol1/1000/win7/共享是和主机共享文件用的。

支持的 Windows 版本可参照相关图示
飞牛 fnos 使用docker部署 Windows 系统:虚拟机的轻量级替代方案

将 Value 里面的版本填到代码中VERSION处就行。点击完成后,等待构建完成

可通过容器运行日志查看镜像下载进度,下载完成后,既能在日志查看安装进度
飞牛 fnos 使用docker部署 Windows 系统:虚拟机的轻量级替代方案
飞牛 fnos 使用docker部署 Windows 系统:虚拟机的轻量级替代方案
也可以浏览器打开IP:8010实时查看安装进度
飞牛 fnos 使用docker部署 Windows 系统:虚拟机的轻量级替代方案
飞牛 fnos 使用docker部署 Windows 系统:虚拟机的轻量级替代方案
耐心等待自动安装完成即可。
NAS 文件共享 host.lan 是默认名称,打开它就能看到代码中容器映射的 data 文件夹。
飞牛 fnos 使用docker部署 Windows 系统:虚拟机的轻量级替代方案

使用问题及解决办法

  1. 如何连接使用?
    • 浏览器访问:通过浏览器访问http://NAS IP:8010
    • 第三方工具访问:利用向日葵、Todesk 等第三方工具访问。
  2. 如何安装自定义镜像?
    若无法自动下载也可以使用本地镜像文件,方法是将下面代码添加到 compose 文件中:
volumes:
  - /vol1/1000/win7/win7.iso:/custom.iso # 本地镜像路径
  1. 如何配置用户名和密码?
    默认情况下,在安装过程中创建一个 called 用户,没有密码。若想使用不同的用户和密码,可以在 compose 代码文件中更改,示例如下:
environment:
  USERNAME: "bill" # 用户名
  PASSWORD: "gates" # 密码
  1. 分配单个 IP 地址
    默认情况下,容器使用网桥网络,它与 NAS 主机共享 IP 地址。若要为容器分配单个 IP 地址,可以按如下方式创建 macvlan 网络(请修改这些值以匹配您的本地子网):
docker network create -d macvlan \
    --subnet=192.168.0.0/24 \
    --gateway=192.168.0.1 \
    --ip-range=192.168.0.100/28 \
    -o parent=eth0 vlan

创建网络后,将 compose 文件更改为如下所示:

services:
  windows:
    container_name: windows
   ...
    networks:
      vlan:
        ipv4_address: 192.168.0.100
networks:
  vlan:
    external: true

此方法的另一个好处是,不必再执行任何端口映射,因为默认情况下将公开所有端口。

  1. 如何添加多个磁盘?
    要创建其他磁盘,请按如下方式修改 compose 文件:
environment:
  DISK2_SIZE: "32G"
  DISK3_SIZE: "64G"
volumes:
  - /vol1/1000/win7/example:/storage2
  - /vol1/1000/win7/data/数据备份:/storage3

其他参数具体可查看官方文档,官方文档链接:https://github.com/dockur/windows

- THE END -

季春二九

8月01日17:20

最后修改:2025年8月1日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论