docker里安装真正能用的fnos

• 5 分钟阅读 • docker · nas

飞牛fnos是一款极具潜力的国产免费 NAS 系统,尤其适合新手用户和家庭用户。它的安装简单、界面精美易用,而且可以高效地利用闲置硬件,搭建 NAS 私人存储来替代网盘,并安装使用各种 Docker 应用。本文记录了docker中安装fnos的方法。

原理

基于项目https://github.com/qemus/qemu,在docker容器里通过qemu运行fnos。

docker-compose.yml

services:
  fnos:
    image: ghcr.io/qemus/qemu:7.12
    container_name: fnos
    environment:
      BOOT: "https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.11-946.iso"
      RAM_SIZE: "2G"
      CPU_CORES: "4"
      DISK_SIZE: "16G"
      DISK2_SIZE: "200G"
    devices:
      - /dev/kvm
      - /dev/net/tun
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
    volumes:
      - /dir1:/storage
      - /dir2:/storage2
    restart: unless-stopped
    stop_grace_period: 2m
    networks:
      vlan:
        ipv4_address: 192.168.0.10
networks:
    vlan:
       external: true

environment:
BOOT: “https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.11-946.iso" #飞牛os最新安装镜像地址
RAM_SIZE: “2G” #qemu设定的内存和核
CPU_CORES: “4”
DISK_SIZE: “16G” #飞牛系统盘大小
DISK2_SIZE: “200G” #数据盘大小
networks:设定飞牛系统本地IP

创建macvlan网络

在缺省网络模式下,qemu里运行的fnos无法通过IP从外部访问。

docker network create -d macvlan \
   --subnet=192.168.0.0/24 \
   --gateway=192.168.0.1 \
   --ip-range=192.168.0.0/28 \
   -o parent=ens133 vlan

ens133是本地网卡名,可通过ifconfig命令查看。

启动容器

docker compose pull
docker compose up -d

从ip:8006可以看到安装过程。

体验

安装完成后从ip:5666访问飞牛os。这里的ip是192.168.0.10,可根据需要更改。




这里挂载的硬盘就是/storage和/storage2,分别是在挂载的目录下创建了data.img磁盘。第一个磁盘用来安装飞牛系统,后一个磁盘是数据盘。

可以通过本地ip直接访问飞牛系统,也可以用官方自带的内网穿透从公网上访问本地fnos,FN ID是在官网上注册帐号后设定的访问ID。飞牛私有云app和飞牛影视app都是通过FN ID来远程访问的,免费的内网穿透带宽限定在2M bps。

从文件管理应用里可以挂载远程目录,比如smb,网盘等。由于使用了macvlan网络,fnos无法访问docker主机,如果smb在主机上,可通过第三个主机上lucky的端口转发来访问docker主机上的smb文件。
发现一个问题,飞牛影视不能播放4k视频,不知道是不是和主机的性能有关系。

方法2

docker-compose.yml

services:
  fnos:
    image: ghcr.io/qemus/qemu:7.12
    container_name: fnos
    environment:
      BOOT: "https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.11-946.iso"
      RAM_SIZE: "2G"
      CPU_CORES: "4"
      DISK_SIZE: "16G"
      DISK2_SIZE: "200G"
    devices:
      - /dev/kvm
      - /dev/net/tun
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 5666:5666
    volumes:
      - /dir1:/storage
      - /dir2:/storage2
    restart: unless-stopped
    stop_grace_period: 2m

macvlan不是必须的,只要把容器内的5666端口暴露出来就可以。

这里会产生一个新问题,飞牛os里的应用要从特定端口访问的话,要在ports段加上端口映射,可能会和docker主机里已有的开放端口相冲突。

2025年12月30日:
iso最新下载地址为:https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-1.1.8-1419.iso?sign=d2e95129784cb140e03e838ef4bc3c83&t=1767082282
地址需完整,不然会下载不了。
docker镜像地址:qemux/qemu 或 ghcr.io/qemus/qemu

文章标签: docker, nas

上一篇 : immich: 自托管相册服务
下一篇 : 免费开源机器翻译:LibreTranslate
留言
阅读进度 0%