OpenWrt软路由(NanoPi For NAS All In One R4S ):portainer容器管理平台

NO.1
portainer简介

github地址

https://github.com/portainer/portainer

NO.2
portainer安装

官方docker文档地址

https://docs.portainer.io/start/install-ce/server/docker/linux

新建docker-compose.yml配置文件

由于这里没有使用宝塔面板,所以使用命令行来创建

vi docker-compose.yml

可以看到文件编辑页面

键盘输入 i 进入编辑模式

img

右键复制代码到文本界面

img

编辑完成后

先按ESC键回到命令模式

然后按住shift+: (冒号)

按w,按q,按!

直到看到左下角显示如下

按Enter保存并退出

img

开放端口

进入openWrt管理后台

进入网络->防火墙

img

进入到通信规则

img

添加路由器端口

添加成功后会看到一条记录

img

拉取镜像并启动服务

docker-compose up

拉取镜像并启动中

img

安装失败

提示磁盘空间不足

failed to register layer: no space left on device

img

点击系统->挂载点

查看磁盘大小和剩余空间

可以看到只剩余几百M,根本无法下载几个GB的镜像文件

img

查看根目录文件夹

这里创建一个media文件夹(名称随意)

mkdir media

img

点击添加挂载点

img

插入移动硬盘

点击设备-下拉

看到多了一个sda3约250GB左右的设备标识(这就是刚刚插入usb的移动硬盘)

img

指定挂载目录

点击保存和应用

img

可以看到挂载点清单多了一个分区

img

在被挂在的media文件夹中

创建docker文件夹,然后创建portainer文件

然后把之前创建的docker-compose.yml配置文件移动到这个文件夹

img

再次尝试拉取镜像并启动

还是失败

大概是因为数据卷可以放在挂在的移动硬盘

但是docker images镜像默认下载在linux根目录的文件系统,不会默认放在挂载的外置目录

所以建议刷openWrt固件的TF卡本身就尽可能磁盘大一些,比如128GB以上,并且读写速度尽可能快一些

img

NO.3
Tips

本篇文章的portainer放在树莓派docker能正常运营(但是这里不再演示树莓派)

因为树莓派4B和R2S都是ARM64

不过由于这个R2S是几百年前的硬件产品,这个openWrt是几百年前的固件,同时这个小的不能再小的TF卡,估计也是几百年前的商家送的,所以才没有多余的空间适用于接下来的NAS系列

新的闪迪TF卡128GB(V30 A2)已到, R4S要过些天才到,到了后再找最新的R4S固件

后期将以特定的固件来记录,因为每个固件有对应的功能和管理界面(换一个固件就没有大多的比对意义)

NO.4
问题

docker-compose的镜像操作,暴露出了以下问题

  1. opkg是openwrt插件的安装命令,类似ubuntu的apt(注意,openWrt无法使用apt,来安装nano编辑,nodeJs,python之类的依赖)

  2. 开放端口无法使用ufw之类的命令,而是使用它管理界面的UI来开放(目前还没有研究通用的命令,能走UI交互的都走UI交互)

  3. 挂载移动硬盘同第二点,不能使用常规的命令行,优先走UI交互(在网上查了一下,不同的openWrt固件,ui交互上区别很大)(所以后面一些场景都要保证固件一致)

  4. TF卡磁盘要大,读写要快,小容量支持网络配置没问题,但是使用docker服务就不够用了

后期会专门记录一期刷入固件,然后所有后续操作以指定固件和硬件为前提

END

<<OpenWrt软路由(NanoPi For NAS All In One R4S ):设置SSH和Docker Compose>>