华硕网络产品技术交流平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

查看: 264|回复: 8

[技术相关] ASUS路由器能支持 Docker 大家没想到吧?

[复制链接]

0

主题

7

回帖

32

积分

新手上路

Rank: 1

积分
32
发表于 2025-6-16 10:54:52 | 显示全部楼层 |阅读模式
RT系列
机型名称: RT-BE88U
本帖最后由 xiaobao007 于 2025-6-16 10:59 编辑

一、遗憾
华硕路由器内存大,玩法多,但不支持 DOCKER 是很大的遗憾。

如果能支持 DOCKER,那么可以增加很多的玩法,比如 HomeAssistant 智能家居,Nextcloud 私有网盘,或者迅雷下载。

二、尝试,但败北
因为我家里用的是 BE88U,几个月以来,一直纠结如何给 ASUS 路由器支持 DOCKER,甚至下血本直接编译 ASUS 路由器的代码来增加 DOCKER,
无疑都失败了。

事实证明,通过修改内核选项重新编译固件是无法支持 DOCKER 的,因为无线等一些关键的驱动,是直接以 .ko 形式出现的,如果修改了内核选项,比如下面:



  1. CONFIG_NAMESPACES=y
  2. CONFIG_UTS_NS=y
  3. CONFIG_IPC_NS=y
  4. CONFIG_USER_NS=y
  5. CONFIG_PID_NS=y
  6. CONFIG_NET_NS=y</div>
复制代码
就会导致路由器刷机失败,因为路由器是双备份固件,写入新的固件导致路由器死机,路由器就会用原来的系统分区重新启动,就出现刷机不成功的现象。

三、开启新思路,成功
当我以为无法给 ASUS 支持 DOCKER 的时候,网上寻找各种线索,发现了新的工具:SKOPEO 。这个工具可以从网络上下载 dockerhub 的镜像。借助这个工具的思路,并根据自己对 DOCKER 的理解,完全可以再开发一个类似 DOCKER 的工具,下载 dockerhub 的镜像,并解压为硬盘上的 rootfs,再 chroot 到 rootfs 上。

于是乎,我开发了一个工具叫 DockRoot,就是从 dockerhub 下载镜像,并解压为 rootfs 并运行 rootfs ,并把 DockRoot 的行为尽可能接近 docker cli 的行为。那么咱们就可以开心的在 ASUS 路由器下面玩 DOCKER 了。


四、运行方法
必须准备一个高速的U盘或者硬盘,格式化为 Ext4
手动把 DockRoot 下载到硬盘上
下载镜像:


  1. ./DockRoot pull library/alpine:latest alpine001
  2. ./DockRoot run alpine001</div>
复制代码



alpine001 是容器名字,可以随便取英文单词的名字 注意自动生成一个配置文件 ruri.conf 里面指定了 Docker 的用户空间文件系统的存储目录 默认使用了 kspeeder 做 Docker 镜像加速 如果不用 kspeeder 则可以这样下载镜像:


  1. ./DockRoot pull docker.m.daocloud.io/library/alpine:latest alpine001
复制代码


查看是否运行,停止,删除方法:



  1. ./DockRoot ps alpine001
  2. ./DockRoot stop alpine001
  3. ./DockRoot rm alpine001</div>
复制代码


调用 rm 参数后,就可以安全的删除硬盘的文件了

Homeassistant
比如智能家居 Homeassistant 的使用如下:

下载并运行:



  1. ./DockRoot pull homeassistant/home-assistant:latest ha002
  2. ./DockRoot run ha002</div>
复制代码


Nextcloud
下载并运行:



  1. ./DockRoot pull library/nextcloud:latest next003
  2. # 因为 nextcloud 默认用 80 端口,需要手动修改 rootfs
  3. # /etc/apache2/ports.conf
  4. # 把 80 端口改成 8081,免得跟路由器的 80 端口冲突
  5. ./DockRoot run next003</div>
复制代码



Open-webui


  1. ./DockRoot pull linkease/open-webui:main openui005
  2. ./DockRoot run openui005</div>
复制代码



迅雷下载


  1. ./DockRoot pull cnk3x/xunlei:latest xunlei006
  2. ./DockRoot run xunlei006</div>
复制代码



浏览器面板


  1. ./DockRoot.arm64 pull hslr/sun-panel:latest sunpanel007
  2. ./DockRoot run sunpanel007</div>
复制代码



音乐服务器


  1. ./DockRoot.arm64 pull deluan/navidrome:latest navi008
  2. ./DockRoot.arm64 run navi008</div>
复制代码


五、其他更多的命令参数演示:

后台运行:


  1. ./DockRoot.arm64 -d run navi008
复制代码


后台运行日志文件在:


${DockRootData}/navi008/ruri.log
执行某个具体的程序:

  1. ./DockRoot.arm64 run navi008 /bin/sh
复制代码


磁盘映射:


  1. ./DockRoot.arm64 run -v /tmp/mnt/sdb2/music:/music --renew navi008
复制代码


添加环境变量:

  1. ./DockRoot.arm64 run -e ND_MUSICFOLDER=/musicpath2 -v /tmp/mnt/sdb2/music:/musicpath2 --renew navi008
复制代码
六、相比 docker ,DockRoot 优缺点




优势
用法跟 docker 相似,但是减少了功能以及简化了用法
不需要内核支持,支持更多 Linux 系统
没后台服务进程,更省内存
核心代码来源于 skopoe
借助工具:ruri 并能支持 Android


缺点
必须以超级权限运行,相当于 Docker 的 privilege
没任何网络隔离,相当于 Docker 的 host 模式

下载链接


微信扫一扫,阅读更方便^_^

654

主题

6570

回帖

1万

积分

管理员

正品行货

Rank: 9Rank: 9Rank: 9

积分
18104

RT-AC88URT-AX68URT-BE88U

发表于 2025-6-16 11:05:27 | 显示全部楼层
宝爷,常来!

点评

这是我的新家 :)  发表于 2025-6-16 11:10
回复

使用道具 举报

0

主题

7

回帖

32

积分

新手上路

Rank: 1

积分
32
 楼主| 发表于 2025-6-16 11:07:11 | 显示全部楼层
沙发自己抢一个。。。

0

主题

1

回帖

11

积分

新手上路

Rank: 1

积分
11
发表于 2025-6-16 11:39:40 | 显示全部楼层
太牛逼了
回复

使用道具 举报

0

主题

1

回帖

13

积分

新手上路

Rank: 1

积分
13
发表于 2025-6-16 12:57:52 | 显示全部楼层
这个可以哟,华硕也能玩docker

8

主题

84

回帖

524

积分

高级会员

Rank: 4

积分
524

RT-BE88U

发表于 2025-6-16 20:00:39 | 显示全部楼层
大神,膜拜了。

2

主题

119

回帖

1318

积分

金牌会员

Rank: 6Rank: 6

积分
1318

RT-AX82URT-AX86U

发表于 2025-6-16 22:56:56 | 显示全部楼层
asusgo应该要上dockerRoot了,到时候折腾一下。

0

主题

7

回帖

32

积分

新手上路

Rank: 1

积分
32
 楼主| 发表于 2025-6-17 15:04:36 | 显示全部楼层
jiangjin19856 发表于 2025-6-16 22:56
asusgo应该要上dockerRoot了,到时候折腾一下。

好的,争取尽快上线。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回列表 搜索 官方QQ群
×

秒后自动关闭

小黑屋|手机版|Archiver|华硕网络产品技术交流平台 ( 苏ICP备16010857号-1 )苏公网安备 32050502000499号

GMT+8, 2025-6-26 09:10 , Processed in 5.052867 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表