问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
什么值得买
1.
https://post.smzdm.com/p/a0xm2oz9/

飞牛系统暂缺官方虚拟机,dockur/windows这个开源项目让Windows系统在Docker容器中运行,支持多版本和多语言,适合开发、测试和学习。快速搭建自动部署,稳定高效,是飞牛系统下Windows环境搭建的理想选择。

特点

  • 支持win7、win8、win10、win11、Win Server、Tiny Win
  • 支持虚拟化加速
  • 支持自定义IP
  • 与主机文件共享、磁盘映射、USB映射

compose部署win系统

1. 新建文件夹

先在任意位置创建一个windows文件夹,用于存放docker-compose.yaml文件。

2. 新增项目

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

3. 创建项目

输入项目名称,路径选择你刚刚创建windows文件夹,点击创建docker-compose.yml把以下代码拷贝进去,创建项目后立即启动打钩。

注意看代码注释根据需求修改

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版本如下图,将Value里面的版本填到代码中VERSION就行

点击完成,等待构建完成,如下图

通过容器运行日志查看镜像下载进度

下载完成后,可以在日志查看安装进度,也可以浏览器打开IP:8010实时查看安装进度,耐心等待自动安装完成即可

NAS文件共享 host.lan 是默认名称,打开它就能看到代码中容器映射的 data 文件夹

4. 使用问题

如何连接使用?

① 浏览器访问

http://NASIP:8010

② 第三方工具访问

向日葵、Todesk等

如何安装自定义镜像?

无法自动下载也可以使用本地镜像文件,方法是将下面代码添加到compose 文件中:

volumes:
- /vol1/1000/win7/win7.iso:/custom.iso # 本地镜像路径

如何配置用户名和密码?

默认情况下,在安装过程中创建一个 called 用户,没有密码

如果您想使用不同的用户和密码,可以在 compose 代码文件中更改它们

environment:
  USERNAME: "bill" # 用户名
  PASSWORD: "gates" # 密码

分配单个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

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

5. 如何添加多个磁盘?

要创建其他磁盘,请按如下方式修改 compose 文件:

environment:
  DISK2_SIZE: "32G"
  DISK3_SIZE: "64G"
volumes:
- /vol1/1000/win7/example:/storage2
- /vol1/1000/win7/data/数据备份:/storage3
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号