提示:本教程需要有一定Linux基础,命令要在Linux终端进行操作。此教程仅供体验使用,有重要的数据建议通过物理机进行安装。

飞牛 NAS 目前仅支持 X86 平台,ARM设备就只能望而止步。在逛 Github 的时候发现了一个有趣的项目:Docker-fnOS,它可以将 fnOS 运行在 Docker 容器内的 QEMU 虚拟机中,解决不支持 ARM 架构的问题。对于想体验下飞牛 NAS 又不想使用虚拟机进行安装,可以参考本文进行Docker 部署安装。


🧾 详细介绍

Docker-fnOS 提供了一种在 Docker 环境中部署和运行飞牛 fnOS NAS 系统的方法。通过将 fnOS 运行在 Docker 容器内的 QEMU 虚拟机中,可以避免直接在物理机或虚拟机上安装的复杂性,为用户提供更灵活、可移植的部署选择。


✨ 核心功能

  • 🖥️ 容器化部署: 在 Docker 环境中轻松运行和管理 fnOS。

  • 🔄 基于 QEMU: 利用成熟的 QEMU 虚拟机技术在容器内部运行 fnOS 镜像。

  • 🚀 快速启动: 通过 docker-compose 即可快速配置和启动 fnOS 虚拟机。

  • 🏠 家庭友好: 继承 fnOS 本身易用性,适合家庭用户快速搭建 NAS。

  • 📦 Docker 应用支持: 在容器化的 fnOS 中,依然可以安装和使用其自带的 Docker 应用商店。


🚀 飞牛镜像获取

1. 打开飞牛下载页面:https://www.fnnas.com/download

2. 获取下载链接

例如写文章时候的下载链接是: https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.35-1238.iso?sign=5666cc77f58e8e776b0e676c54bb028a&t=1762408478 复制备用。


🐳部署指南

🎯 Docker Compose

docker-compose.yml

services:
  fnos:
    image: ghcr.io/qemus/qemu:7.12
    container_name: fnos
    environment:
      BOOT: "飞牛镜像获取到的下载ISO链接"
      RAM_SIZE: "2G"
      CPU_CORES: "4"
      DISK_SIZE: "16G"
      DISK2_SIZE: "30G"
    devices:
      - /dev/kvm
      - /dev/net/tun
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 5666:5666
    volumes:
      # 将宿主机目录映射到 fnOS 虚拟机内部作为数据盘,请替换 ./dir1 和 ./dir2 为实际路径
      - ./dir1:/storage  # 对应 DISK_SIZE
      - ./dir2:/storage2  # 对应 DISK2_SIZE
    restart: unless-stopped
    stop_grace_period: 2m
  • BOOT:飞牛官方镜像,参考 🚀 飞牛镜像获取 获取最新进行并替换。

  • RAM_SIZE:qemu虚拟机设定的内存大小

  • CPU_CORES:qemu虚拟机设定的CPU核心数

  • DISK_SIZE:飞牛系统盘大小

  • DISK2_SIZE:数据盘大小,可以添加更多 DISK_SIZE=... 参数创建更多数据盘

  • 8006:8006:QEMU Web管理界面默认端口映射

  • 5666:5666:fnOS Web管理界面默认端口映射

  • stop_grace_period:停止的等待时间


💻 终端操作

本教程以 Debian ARM 架构系统为例,操作目录为:/home/用户名(根据你自己的实际情况)

1. 终端新建 docker-compose.yml

在终端中分行执行以下命令

mkdir fnOS
cd fnOS
nano docker-compose.yml

2. 粘贴上面 docker-compose 内容到终端并保存

粘贴内容检测无误后,按键盘 CtrlX键,然后会提示是否保存,键盘输入Y ,最后再按 Enter 键进行保存。

3. 终端启动 fnOS 容器

终端执行以下命令等待启动完成。

docker-compose up -d

4. 安装飞牛

浏览器打开QEMU界面:http://NAS IP:8006

5. 初始化配置

浏览器打开飞牛Web界面:http://NAS IP:5666


🎉 总结

经过测试主要功能都可以正常使用。不过在 fnOS 里面存储资料都是通过 ISO 文件存储,没办法直接挂载到宿主主机。传输文件资料只能通过 SMB/WebDAV等协议。如果不想安装虚拟机,使用原生Linux系统进行体验,可以通过使用这种方法进行部署。

1302973010-mEaE.webp