github地址
https://github.com/portainer/portainer
官方docker文档地址
https://docs.portainer.io/start/install-ce/server/docker/linux
新建docker-compose.yml配置文件
由于这里没有使用宝塔面板,所以使用命令行来创建
vi docker-compose.yml
可以看到文件编辑页面
键盘输入 i 进入编辑模式
右键复制代码到文本界面
编辑完成后
先按ESC键回到命令模式
然后按住shift+: (冒号)
按w,按q,按!
直到看到左下角显示如下
按Enter保存并退出
开放端口
进入openWrt管理后台
进入网络->防火墙
进入到通信规则
添加路由器端口
添加成功后会看到一条记录
拉取镜像并启动服务
docker-compose up
拉取镜像并启动中
安装失败
提示磁盘空间不足
failed to register layer: no space left on device
点击系统->挂载点
查看磁盘大小和剩余空间
可以看到只剩余几百M,根本无法下载几个GB的镜像文件
查看根目录文件夹
这里创建一个media文件夹(名称随意)
mkdir media
点击添加挂载点
插入移动硬盘
点击设备-下拉
看到多了一个sda3约250GB左右的设备标识(这就是刚刚插入usb的移动硬盘)
指定挂载目录
点击保存和应用
可以看到挂载点清单多了一个分区
在被挂在的media文件夹中
创建docker文件夹,然后创建portainer文件
然后把之前创建的docker-compose.yml配置文件移动到这个文件夹
再次尝试拉取镜像并启动
还是失败
大概是因为数据卷可以放在挂在的移动硬盘
但是docker images镜像默认下载在linux根目录的文件系统,不会默认放在挂载的外置目录
所以建议刷openWrt固件的TF卡本身就尽可能磁盘大一些,比如128GB以上,并且读写速度尽可能快一些
本篇文章的portainer放在树莓派docker能正常运营(但是这里不再演示树莓派)
因为树莓派4B和R2S都是ARM64
不过由于这个R2S是几百年前的硬件产品,这个openWrt是几百年前的固件,同时这个小的不能再小的TF卡,估计也是几百年前的商家送的,所以才没有多余的空间适用于接下来的NAS系列
新的闪迪TF卡128GB(V30 A2)已到, R4S要过些天才到,到了后再找最新的R4S固件
后期将以特定的固件来记录,因为每个固件有对应的功能和管理界面(换一个固件就没有大多的比对意义)
docker-compose的镜像操作,暴露出了以下问题
-
opkg是openwrt插件的安装命令,类似ubuntu的apt(注意,openWrt无法使用apt,来安装nano编辑,nodeJs,python之类的依赖)
-
开放端口无法使用ufw之类的命令,而是使用它管理界面的UI来开放(目前还没有研究通用的命令,能走UI交互的都走UI交互)
-
挂载移动硬盘同第二点,不能使用常规的命令行,优先走UI交互(在网上查了一下,不同的openWrt固件,ui交互上区别很大)(所以后面一些场景都要保证固件一致)
-
TF卡磁盘要大,读写要快,小容量支持网络配置没问题,但是使用docker服务就不够用了
后期会专门记录一期刷入固件,然后所有后续操作以指定固件和硬件为前提
END
<<OpenWrt软路由(NanoPi For NAS All In One R4S ):设置SSH和Docker Compose>>