让群晖NAS里的Docker为家庭提供更多服务吧

2016-02-24 18:29:57 139点赞 1105收藏 229评论

追加修改(2016-12-13 13:39:07):
ss升级到2.5.6版, kcptun升级到20161207版

追加修改(2016-06-21 21:00:26):
docker镜像再次更新, 强势加入kcp通道支持, 大幅提高网络稳定性. 在vps上实际看youtube时, 只连ss和连kcp+ss 速度分别是 900kbps和20000kbps, 前者看720p会卡, 后者4k随便拖! 暂时去掉v2ray, 虽然其在hyper-v的10g虚拟网卡上表现超凡, 但是实战并不比ss快且稳定性没ss好.

追加修改(2016-06-04 00:53:37):
排骨最新加入v2ray的支持, 并优化了一下镜像. 镜像名称改为 cuteribs/dsm-ubuntu1604:v2

追加修改(2016-05-13 20:19:14):
排骨已将文中使用的docker镜像升级到ubuntu 16.04了, 其中privoxy整合到了ss-local里. 用法见新地址

本文仅献给手上有群晖主机且在套件中心能找到Docker的同学们 让群晖NAS里的Docker为家庭提供更多服务吧

Docker是一个Linux上的轻型虚拟方案, 可以利用很小的磁盘空间和系统CPU内存来运行虚拟的Linux系统, 性能很接近其宿主. 以上是排骨对Docker的初步浅显的认识.

上次排骨发了篇纯(pian)晒(jin)单(bi)的超低功耗迷你PC小主机用法多,HTPC+下载机+软路由+上网加速一个都不能少 . 很多同学指责排骨没写技术细节和具体实现, 是纯炫耀装X贴...... 这篇排骨尽量把细节写出来吧.

让群晖NAS里的Docker为家庭提供更多服务吧超低功耗迷你PC小主机用法多,HTPC+下载机+软路由+上网加速一个都不能少追加修改(2016-02-1909:33:57):先补上被张大妈隐藏掉的配件名称(淘宝连接不能贴,贴了还是会看不到)1.占美N3150迷你主机双网口版本550+2.Intel6205300MMiniPCIE半...14792686 可爱的排骨

排骨家中有台自组的黑群晖, 平时也就存点电影,照片,iso什么的, 也充当一下电影音乐播放服务器, 除了在公司看家里的电影时CPU会冲到70%以上, 其它绝大部分时间CPU都在3%以下. 虽然挂了3个硬盘功耗才30W, 排骨还是感觉有点浪费电, 能不能让它多装些服务, 比如跑跑迅雷, 做做VPN代理什么的? 结论是"能的"! (此处省去一万字探索过程)

1. 迅雷远程xware:

xware虽然可以通过ssh登录DSM直接运行, 但是这么用的同学很快就会发现, 共享文件夹里的xware生成的目录越来越多, 不下载的时候xware还会干扰DSM的硬盘休眠, 关起来也不方便.

但是如果把xware放进Docker里来跑, 上面的问题就可以解决了.

a. 先从套件中心安装Docker, 图略. 找不到Docker的同学请点击浏览器右上角的 X
b. 打开Docker面板, 在注册表处搜索排骨已做好的镜像 cuteribs/dsm-ubuntu15, 再点下载

docker1docker1c. 下载完成后你会在映像里找到dsm-ubuntu15这个镜像, 大约159MB, 基于ubuntu15生成的
d. 点上方的启动按钮来创建一个容器(就是虚拟机啦), 随便输入一个名字(如xware)

docker2docker2
e. 在下两步后点高级设置, 在添加文件夹, 将虚拟机里的下载目录与DSM的共享文件夹映射一下
docker3docker3
f. 在高级设置环境执行命令下输入 ./xware.sh
g. 上面步骤完成后, 你就会在Docker面板的容器里看到xware这个容器, 选中它点上面详情. 启动容器后, 切到日志页等xware的激活码出来. (多点几次右下角的刷新)
xware logxware log
g. 拿到激活码去yuancheng.xunlei.com添加下载器, 然后就可以愉快的下片了! 让群晖NAS里的Docker为家庭提供更多服务吧 yuanchengyuancheng
h. 排骨家的破宽带只有10M还不能多拨, Docker里的xware下载时CPU占用很小, 内存也就12M.xware performancexware performance
i. 在共享文件夹里可以看到xware的下载文件
tddownloadtddownload

2. VPN/代理服务器, 以ss-server为例

排骨公司上网时各种网站被屏蔽, 心想能不能用家里的网络做个代理上上张大妈什么的? 排骨先是试了OpenVPN, 用后感觉速度有点变慢, 而已上不了公司内网了! 于是拿轻量级基于socket的代理服务器软件ss-server来用了. 可替换的方案还有squid, tinyproxy等.

a. 步骤和前面创建xware容器相同, 区别在于 要将容器内部服务端口映射到外部DSM的端口上来, 然后再去路由器上把DSM的端口转发到外网.
b. 另外还需要在环境变量中设置ss-server的加密码方式, 密码以及服务器端口

ss-serverss-server
c. 以上都设置好后, 你就可以从公司通过ss-server的客户端连接家里ss-server上网了.

3. VPN/代理客户端, 以ss-local为例

Docker能跑服务端, 当然也能跑客户端. 比如排骨的同事家宽带是有线通, 看一些网站比在排骨家慢很多, 那么他就可以在他的DSM里装Docker跑ss-local来连排骨家的ss-server, 再让他家网内的电脑/手机等设置代理为ss-local的本地端口, 就能享受到排骨的10M小水管了 (让群晖NAS里的Docker为家庭提供更多服务吧 话虽啰嗦, 道理你懂就行了)

a. 步骤同上, 只是环境变量多一些.ss-localss-local

b. 有些程序或手机只支持http代理, 而ss-local提供的是sock5代理, 排骨在此放了一个privoxy容器, 作用是把sock5转成http代理. 这里要用到容器之间的连接, 让privoxy容器能访问到ss-local容器.

privoxyprivoxy


4. Docker还能提供各种Web服务, Mail服务, 我的世界服务什么的, 这就留给感兴趣的同学自己去研究吧 :)

5. 如果你的群晖装不了Docker, 你还是可以试试安装debian chroot或optware来安装和运行以上程序的. 你真的看到最后了?

展开 收起
229评论

  • 精彩
  • 最新
  • 我真没在套件中心找到docker...DS216PLAY

    校验提示文案

    提交
    要x86架构才可以

    校验提示文案

    提交
    谢谢,查了下也是这样,不过没有docker也能装xware倒是

    校验提示文案

    提交
    收起所有回复
  • 办公室的网络应该是二级或者三级路由了,还能像你这样连接自己家里的网络吗?

    校验提示文案

    提交
    能啊. 办公室是客户端, 多深都不影响. 但是如果公司把端口都封了, 就不好办了.

    校验提示文案

    提交
    我回去试试先,多谢

    校验提示文案

    提交
    收起所有回复
  • 这个xware是1.0还是3.0
    听说3.0停止维护了?

    校验提示文案

    提交
    3.0问题多, 建议还是使用1.0

    校验提示文案

    提交
    收起所有回复
  • 身为程序猿的我 看完撸主的干货 整个人都不太好了 [小怒] [小怒] [小怒] [小怒]

    校验提示文案

    提交
    什么叫"干货" [狂汗]

    校验提示文案

    提交
    就是我看了顿时感觉 原来我除了写最简单的代码 啥都不会 [装大款] [装大款] [装大款]

    校验提示文案

    提交
    收起所有回复
  • 可爱的排骨,每回看你的文章都很赞,请教一下,白群晖也可以这么玩吗

    校验提示文案

    提交
    看标题就知道黑白不限嘛 [高兴] 不过便宜的白群都是低等级CPU, 没有x86的强力, 不支持Docker, 所以具体要看你套件中心有没有Docker.
    不过算没有Docker, 也可以装optware或debian chroot来运行一个可以装这些服务的linux环境.

    校验提示文案

    提交
    收起所有回复
  • 看到第一行就想说,为毛不用更轻便的optware? 看到最后一行我放心了。其实,ss我觉得装路由上更好,xware我还是更喜欢aria2,xware每半小时唤醒nas一次太讨厌。都用optware装的好处是,即便最低端的

    校验提示文案

    提交
    如果你有同事买了几年白金多出来的子账号没处用,你就不会这么说了 [皱眉]

    校验提示文案

    提交
    1.不用docker也能用xware的。2. aria2也是依靠迅雷账号的,主要靠迅雷离线

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 楼主,2,3部分能详细说说吗?刚接触docker,有兴趣,但是不怎么懂,谢谢

    校验提示文案

    提交
    非常简单的, 你多试几下就搞定啦

    校验提示文案

    提交
    好的^ω^,谢谢

    校验提示文案

    提交
    收起所有回复
  • SS的客户端我始终找不到方法使用!麻烦告诉一下怎么样设置和资源

    校验提示文案

    提交
    配置成和我放的图片一样的就行了啊

    校验提示文案

    提交
    Docker资源名是什么!找不到

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 排骨兄,请问装了你的cuteribs/dsm-ubuntu1604之后,容器已经启动,但是依然无法共享出http或者socks5,能贴个图来看看吗?

    下面的变量不知有没设对
    SS_SERVER_HOST:ss服务器网址
    SS_SERVER_PORT:ss服务器端口
    SS_LOCAL_PORT:本地共享的socks5端口
    SS_SERVER_METHOD:加密方式
    SS_SERVER_PWD:ss密码
    ENABLE_HTTP:开启http转换(这里填yes/no,enable/disable,ture false还是1 0?)
    HTTP_PORT:共享的http端口

    还有本地端口、容器端口和链接怎么设置好?

    校验提示文案

    提交
    安装排骨的教程,使用cuteribs/dsm-ubuntu15成功令群晖和qnap都可以共享出http代理,但是用cuteribs/dsm-ubuntu1604依然不行....

    校验提示文案

    提交
    1604版里privoxy和ss-local合并啦! 不是2个容器了

    校验提示文案

    提交
    收起所有回复
  • 下载镜像的时候一直都不成功,每次都是下一点就停止了,不知道为什么

    校验提示文案

    提交
    网络问题,要用代理。或者用国内的 daocloud.io

    校验提示文案

    提交
    收起所有回复
  • 用了你的ubuntu15版本的分两个容器实现了socks及http代理,用着很不错,但换成16.04版本想用一个容器实现socks和http没有成功。另外,想问一下,容器中的3proxy是不是用来将kcp和ss整合成一个代理使用?

    校验提示文案

    提交
    我之前测试ss-local和privoxy一起是可以的. 不知道你的设置是不是有问题.
    3proxy是个纯socks代理服务, 和kcp一起用理论上要比kcp+ss快点, 但是我测试下来感觉区别不大, 但kcp+ss稳定性稍高一些.

    校验提示文案

    提交
    kcp+ss:是不是要在vps上分别安装kcp server和ss server,然后群晖上用ss client docker和kcp client docker 链接方式使用?

    校验提示文案

    提交
    收起所有回复
  • 刚看了一下你在git上的源码,好像在ss-local.sh中执行的dpkg -i /app/libmbedcrypto0_*.deb等命令,是不是这些地方在nas上运行出了问题,我把所有的dpkg都放到Dockerfile里生成,在daocloud上测试没问题了。

    校验提示文案

    提交
    kcp_client也不能运行,导入了一份你的docker文件,hub.docker.com生成docker image后发现ADD命令没有让kcp.tar.gz解压,没有生成/app/kcp目录,修改了一下,终于成功了。用ss+kcp看youtube确实快了点。

    校验提示文案

    提交
    add命令有解压功能啊. 可能是dsm上docker容器执行出了问题吧. 我的vps上也是直接用的这个docker映像做server.

    校验提示文案

    提交
    收起所有回复
  • 感谢lz提供教程,顺利绑定好迅雷远程下载,就是有个疑问,我平时有个习惯,下好的电影都存在video里面,然后通过DS video以及apple tv投到电视上去看,所以我设置的路径是想存到video下的文件夹内的,通过DS video搜索不到下好的电影文件,但是可以用DS file查看到已经下好的电影文件,请问这是为什么呢?

    校验提示文案

    提交
    因为ds video没有自动索引迅雷下载目录的文件. 你需要进ds video设置界面手动点 索引全部视频

    校验提示文案

    提交
    啊,好的,我去试试看。

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 能不能麻烦你把如何将容器内部服务端口映射到外部DSM的端口上来, 然后再去路由器上把DSM的端口转发到外网的具体步骤说一下?谢谢

    校验提示文案

    提交
    容器设置里不是专门有一页设置端口吗?

    校验提示文案

    提交
    设置完了以后怎么用呢?能否给个详细教程,谢谢

    校验提示文案

    提交
    收起所有回复
  • 黑群辉 没有docker 这个软件啊 手动安装 不知道在哪里下载,小白一个 请楼主明示

    校验提示文案

    提交
    你的版本太低了吧

    校验提示文案

    提交
    5.1黑群晖 不能装吗?

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 楼主真是太牛了,我按着教程做全部都实现了。现在唯一问题是:如果才能让我需要的网址走代理(dropbox.com)其它全部直接连接?我试着在你的容器里安装VIM来编辑 privoxy.conf, 但是没有实现。请指教!!

    校验提示文案

    提交
    如果是windows访问 你可以用chome+switchomega或firefox+foxproxy

    校验提示文案

    提交
    手机什么的你就需要装ss客户端,或者在软路由上设置了

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 请指教一下为什么我的群晖里面没有找到docker这个插件,不是黑群晖哦,是最新版的被屏蔽了吗,请高手指教

    校验提示文案

    提交
    什么cpu? 要x64的才能玩

    校验提示文案

    提交
    必须高端的64位处理器的才有。

    校验提示文案

    提交
    收起所有回复
  • 楼主我用docker装了个ubuntu,然后映射了一个51555的端口到容器的22端口..但是为何我SSH连不上啊..

    校验提示文案

    提交
    容器里的ubuntu 没开ssh服务吧

    校验提示文案

    提交
    开了的啊~我再试试

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 新的1604在注册表页面下载时报“命令运行失败”老的15却可以
    why?

    校验提示文案

    提交
    下载报错是网络问题, 可以尝试ssh进dsm, 使用docker pull命令下载镜像

    校验提示文案

    提交
    收起所有回复
  • 想请问NAS你使用ext4格式还是btrfs,是选SHR还是Basic?

    校验提示文案

    提交
    ext4, basic+raid1

    校验提示文案

    提交
    我用了Basic,btrfs,感觉支持的特性多一些,我不打算组raid,打算跟PC同步备份文件,不知妥否。

    校验提示文案

    提交
    还有2条回复
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
目录
1.1K
扫一下,分享更方便,购买更轻松