4

Docker-Link x86容器软路由系统

 1 year ago
source link: https://apad.pro/docker-link/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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-1024x482.png

【版本发行】

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

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
  1. tar zxvf docker-link-x86-64-combined-ext4-20210621.tar.gz
  2. #下方/dev/sdb为要写入的磁盘,数据无价,请确认无误后再执行dd命令
  3. dd if=docker-link-x86-64-combined-ext4-20210621-mini.img of=/dev/sdb bs=1M
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
  1. #在docker的run参数中,加入映射共享目录参数
  2. #注:/data为镜像系统中需要与共享目录互通的目录
  3. -v /opt/sharedata:/data
  4. #登录docker镜像系统,创建uid 2000 gid 2000的用户与组,均命名为www
  5. groupadd www -g 2000
  6. useradd www -u 2000 -g 2000
  7. #设置共享目录用户权限
  8. chown www:www /data -R
#在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
  1. https://github.com/Lienol/openwrt
  2. https://github.com/lisaac/luci-app-dockerman
  3. https://github.com/kuoruan/luci-app-frpc
  4. https://github.com/garypang13/luci-app-dnsfilter
  5. https://github.com/pexcn/openwrt-chinadns-ng
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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK