Docker-Link x86容器软路由系统

Docker-Link 源于本人创业团队的“私有云手机”项目,因为云手机的屏幕画面需要批量推流,而arm架构的路由器性能不足,导致用户将支出一笔不小的费用部署网络环境,最终团队选用了x86架构的软路由方案。

思路延展将软路由与客户端服务器合体,再次降低用户成本,基于OpenWRT+Docker的x86容器软路由系统Docker-Link由此而生。

无意发现容器软路由系统应用范围很广,无论是自建NAS,项目测试,还是团队SaaS应用的私有化部署等。思路就是使用精简的软路由系统保证稳定性,结合docker隔离系统环境拓展业务功能。索性加入路由常用功能,制作成发行版本。


【系统简介】

Docker-Link 是一款纯净、精简、稳定的x86容器软路由系统

· 基于Linux kernel 4.14.236 (LTS),优化系统及插件源码,适合生产环境使用

· 内置docker-ce-19.03.15稳定版本,并修复了软路由系统中不能重启镜像的Bug

· 内置frp-0.37.0内网穿透,可将内网环境映射至公网

· 支持DNS分流,海外域名可用DoH与非53端口DNS解析,有效防止DNS污染

· 支持SMB、NFS、FTP、SFTP文件传输协议

· 仅含广告拦截、科学上网、网络工具等必备插件,兼容OpenWRT主流第三方插件


【版本发行】

首个版本的发行日期正好是夏至,因此命名:

Docker-Link 19.07-210621 / The Summer Solstice (10th solar term)

由于个人精力有限,如无严重Bug不会更新版本,稳定方为王道

如有Bug问题请反馈至邮箱 [email protected]


【使用说明】

管理页面:10.0.0.1:81

初始密码:apad.pro


【固件获取】

http://mirror.apad.pro/linux/docker-link-x86-64-combined-ext4-20210621.tar.gz

下载后,解压缩为img文件,用写盘工具写入软路由的硬盘即可

Windows/WinPE环境写盘工具 DiskImage [下载]

Linux环境使用dd命令写盘即可

tar zxvf docker-link-x86-64-combined-ext4-20210621.tar.gz
#下方/dev/sdb为要写入的磁盘,数据无价,请确认无误后再执行dd命令
dd if=docker-link-x86-64-combined-ext4-20210621-mini.img of=/dev/sdb bs=1M

注意:写入会格式化整个磁盘,请确认磁盘中没有重要文件,且磁盘空间>3GB

首次启动系统后,会自动扩容/opt分区至硬盘最大空间


【共享权限】

系统预置了一个拥有共享权限的用户www,组www,UID:2000,GID:2000

该共享权限用户默认供samba与ntf使用,目录 /opt/sharedata

当docker镜像中的服务,想与该共享目录互通时,可参考以下方法配置

#在docker的run参数中,加入映射共享目录参数
#注:/data为镜像系统中需要与共享目录互通的目录
-v /opt/sharedata:/data

#登录docker镜像系统,创建uid 2000 gid 2000的用户与组,均命名为www
groupadd www -g 2000
useradd www -u 2000 -g 2000

#设置共享目录用户权限
chown www:www /data -R

在docker中创建的用户/组,与软路由系统中的用户/组并不对应,但会共用uid/gid,所以只需要将镜像内的”用户/组 – uid/gid”的对应关系,与路由系统的对应关系同步,即可解决权限相关问题


【源码鸣谢】

最后感谢那些默默无闻的奉献着

https://github.com/Lienol/openwrt
https://github.com/lisaac/luci-app-dockerman
https://github.com/kuoruan/luci-app-frpc
https://github.com/garypang13/luci-app-dnsfilter
https://github.com/pexcn/openwrt-chinadns-ng