首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >飞牛 fnos 使用docker部署 Windows 系统:虚拟机的轻量级替代方案

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

作者头像
季春二九
发布2024-12-17 17:05:09
发布2024-12-17 17:05:09
6.6K1
举报

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 系统步骤

新建文件夹:在任意位置创建一个名为“windows”的文件夹,用于存放 docker-compose.yaml 文件。

2024-12-16T06:33:58.png
2024-12-16T06:33:58.png

新增项目:使用 docker 的 compose 方式构建,点击新增项目。

2024-12-16T06:34:06.png
2024-12-16T06:34:06.png

创建项目:输入项目名称,路径选择刚刚创建的“windows”文件夹,点击创建,然后把以下代码拷贝进 docker-compose.yml 文件(创建项目后立即启动打钩,注意看代码注释并根据需求修改):

2024-12-16T06:34:15.png
2024-12-16T06:34:15.png
代码语言:javascript
复制
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 版本可参照相关图示

2024-12-16T06:35:19.png
2024-12-16T06:35:19.png

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

可通过容器运行日志查看镜像下载进度,下载完成后,既能在日志查看安装进度

2024-12-16T06:36:15.png
2024-12-16T06:36:15.png
2024-12-16T06:36:23.png
2024-12-16T06:36:23.png

也可以浏览器打开IP:8010实时查看安装进度

2024-12-16T06:36:34.png
2024-12-16T06:36:34.png
2024-12-16T06:36:47.png
2024-12-16T06:36:47.png

耐心等待自动安装完成即可。 NAS 文件共享 host.lan 是默认名称,打开它就能看到代码中容器映射的 data 文件夹。

2024-12-16T06:37:02.png
2024-12-16T06:37:02.png

使用问题及解决办法

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

代码语言:javascript
复制
services:
  windows:
    container_name: windows
   ...
    networks:
      vlan:
        ipv4_address: 192.168.0.100
networks:
  vlan:
    external: true

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • dockur/windows 开源项目介绍
  • compose 部署 win 系统步骤
  • 使用问题及解决办法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档