飞牛fnos是一款极具潜力的国产免费 NAS 系统,尤其适合新手用户和家庭用户。它的安装简单、界面精美易用,而且可以高效地利用闲置硬件,搭建 NAS 私人存储来替代网盘,并安装使用各种 Docker 应用。本文记录了docker中安装fnos的方法。
原理
基于项目https://github.com/qemus/qemu,在docker容器里通过qemu运行fnos。
docker-compose.yml
1 | services: |
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从外部访问。
1 | docker network create -d macvlan \ |
ens133是本地网卡名,可通过ifconfig命令查看。
启动容器
1 | docker compose pull |
从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
1 | services: |
macvlan不是必须的,只要把容器内的5666端口暴露出来就可以。
这里会产生一个新问题,飞牛os里的应用要从特定端口访问的话,要在ports段加上端口映射,可能会和docker主机里已有的开放端口相冲突。