甜糖 in Docker on Openwrt

背景:
之前一直用玩客云刷Armbian运行,占一个插座和一个网口
而且现在路由器性能也相当好了,既然这样可以直接在路由器运行ttnode,释放网口和插座。

准备:
OpenWRT 路由器
安装好luci-app-dockerman、dockerd、docker、kmod-macvlan

主要操作步骤:
1、创建macvlan网络
2、配置miniupnp监听刚刚创建的网络
3、运行ttnode

创建macvlan
这一步用luci-app-dockerman直接创建就很方便,注意以下两点
1、子网不能和现有的网络重合
2、parent 选 br-lan

macvlan 创建

创建之后可以在网络接口页面确认新创建的iface名称

macvlan 创建的iface

修改upnp设置

上一步显示的是 docker_macnet

运行容器

#!/bin/bash
docker run -it \
--net=macnet \
--hostname ttnode \
--mac-address 02:42:c0:a8:20:32 \
--ip=192.168.32.50 \
--dns=119.29.29.29 \
-v /root/ttnode:/ttnode \
-v /mnt/cache:/cache \
--name ttest debian /bin/bash

因为甜糖的程序根据hostname和设备mac地址生成uid,所以启动容器的脚本里要指定hostname和mac地址,防止docker自动生成参数导致uid发生变化

然后手动运行ttnode
/ttnode/ttnode -p /cache

运行成功截图

有一个报错是因为docker不能修改内核参数导致,不影响甜糖程序运行

复制uid,使用二维码生成器创建二维码使用甜糖APP扫描添加即可。

upnp正常映射成功

邀请码:043548