用Docker技术完小白也能学会的 NAS 路由器一体机 DIY 攻略 篇三:用Docker技术完善NAS应用

2016-05-13 18:23:48 148点赞 1428收藏 53评论

前言:

用Docker技术完善NAS应用小白也能学会的 NAS 路由器一体机 DIY 攻略 (一)前言四月对老司机来说最悲伤的事情估计就是多家网盘关闭的新闻了,想必硬盘价格也会乘机上涨一波了吧。大妈这边也已经有不少关于自建NAS的攻...4255674 比你多活一天 用Docker技术完善NAS应用小白也能学会的 NAS 路由器一体机 DIY 攻略 (二)前言小白也能学会的NAS路由器一体机DIY攻略(一)前言四月对老司机来说最悲伤的事情估计就是多家网盘关闭的新闻了,想必硬盘价格也会乘机上涨一波...1318222 比你多活一天

本篇有一定的难度,不过按照说明仔细操作完成的难度应该也许可能不大用Docker技术完善NAS应用。大家应该注意到本篇的头图有了变化,本篇将使用 Docker 技术来完善我们的 NAS 应用,不过不用太担心难度问题,技术最终还是为现实服务的,那些高大上的云其实可以离我们很近用Docker技术完善NAS应用。本篇应该最终章了,也许搞定 KODI 之后还会再发一篇吧,不过应该会比较久之后了,而且挖坑不填也不是没可能用Docker技术完善NAS应用

前面两篇中有很多朋友说这个没有群晖好,这个我在第一篇开通就已经说过了用Docker技术完善NAS应用想省事的朋友直接买成品 NAS 就好。

当然,还有黑群晖这个东西的存在,即便是 DIY 很多人也是选择了黑群晖。厂家研发软件是付出了成本,那么在产品定价时包含这部分成本很正常——毕竟大家还是很认同群晖的功能和易用性的。
不过,就算是黑群晖的项目主页上也是有捐助链接的,剩下的我就不想多说啥了,觉得黑群晖合适,请自己闷声用就好。

最后,如果觉得300块的智能路由器接个移动硬盘就能解决问题的,大可直接买智能路由器就好了,选择 DIY 从来就不是什么简单方便的事情,这个攻略的起因是想看能不能不侵权的前提下达成我的目标。

=====================================================================================

SMART Monitor

由于 ClearOS 是基于 CentOS 也就是使用了 Linux 内核,根据开源协议 ClearOS 也是需要开放修改的源码的,正式因为如此,我们可以自己安装一些应用——比如查看磁盘健康信息的 SMART 工具。

ClearOS GitHubgithub.com

在 GitHub 上可以找到 『app-smart-monitor』 的仓库然后自己构建 RPM 安装包进行安装,当然,也可以下载打包好的安装包。百度分享地址——> https://pan.baidu.com/s/1bMwePC

分享文件夹中的 App 文件夹里面就是已经打包好的 RPM 安装包。

用Docker技术完善NAS应用

app-smart-monitor-2.1.8-1.v7.noarch.rpm 和 app-smart-monitor-core-2.1.8-1.v7.noarch.rpm 就是在 ClearOS MARKETSPACE 中的 『SMART Monitor』了,官方收费是 25 刀/年。

用Docker技术完善NAS应用

这次要使用的是在第二章中提到的 Xftp 5,在百度网盘共享目录的 Tools 文件夹中有安装包可以下载,当然,建议还是自己找到官网下载——不要轻易使用第三方提供的安装包。

用Docker技术完善NAS应用

创建一个新会话,需要注意:协议要选择 『SFTP』,主机根据自己的实际情况填写。

用Docker技术完善NAS应用

连接上 SFTP 之后就可以看到上图的界面了,可以直接操作 ClearOS 的文件了,这里先将下载好的 RPM 包上传到 ClearOS。然后,点击红色方框标记的图标,可以直接打开 XShell。

用Docker技术完善NAS应用

在 Xshell 中输入下面的命令执行安装。

yum install app-smart-monitor-2.1.8-1.v7.noarch.rpm app-smart-monitor-core-2.1.8-1.v7.noarch.rpm

提示:在输入 rmp 包的文件名时可以按『Tab』键自动补全,比复制粘贴快哦。其实 『Tab』补全在 Linux 和 Windows CMD 中都是可以用的用Docker技术完善NAS应用。另外,需要注意 Linux 下是大小写敏感的,字母大小写也不能错。

用Docker技术完善NAS应用

安装好之后就『Reports』中就能找到『SMART Monitor』了,省下 25 刀用Docker技术完善NAS应用

用Docker技术完善NAS应用

细心的朋友估计会发现百度共享里面还有 app-wireless-1.6.5-1.v7.noarch.rpm 和 app-wireless-core-1.6.5-1.v7.noarch.rpm。不过这里要提醒一下,安装了这两个包之后在 『System-Settings-Services』中添加了一个『Service』操作,然后 『Network-Ip Setting』中可以对无线网卡进行配置,但其实无线是没法直接使用的。需要手动修改 hostapd.conf 并且配置网桥桥接才能让 WIFI 正常工作,鉴于这块需要的难度较高,所以只放一下 ClearOS 的相关链接给有需要的人:

链接1

链接2

Docker

本篇的头图中那条顶着集装箱的鲸鱼就是 Docker 的 Logo。关于 Docker 或者说容器的应用可以参考一下这篇群晖的文章了解一下。

用Docker技术完善NAS应用让群晖NAS里的Docker为家庭提供更多服务吧本文仅献给手上有群晖主机且在套件中心能找到Docker的同学们Docker是一个Linux上的轻型虚拟方案,可以利用很小的磁盘空间和系统CPU内存来运行虚拟的Li...3234330 可爱的排骨

这也是为什么我在第一篇中建议购买群晖的 x86 型号的原因。作为 DIY 的 NAS 在操作便利性上肯定是没法像群晖这么便利了,很多事情都只能靠自己的双手解决了用Docker技术完善NAS应用。好在配合第三方管理平台,还是可以实现很接近的效果的。

======================================================================================

安装 Docker

前面有说过,ClearOS 是基于 CentOS 的发行版,所以可以自行安装 Docker。那么继续使用 XShell 操作。

用Docker技术完善NAS应用

nano /etc/yum.repos.d/docker.repo

在 XShell 中输入上面的命令,会打开一个空白编辑界面,将下面的这段文本粘贴到里面。

[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

按『Ctrl+X』退出,会提示『Yes or No』按 Y 继续,然后按回车保存。

yum install docker-engine

继续输入上面的命令,安装 Docker,等待安装完成。

systemctl enable docker

配置 docker 服务开机启动

systemctl start docker

启动 docker 服务,然后输入 docker -v ,如果返回有 docker 的版本信息,那么安装就完成了。

配置 ClearOS

由于 clearos 本身的一些机制(防火墙配置这块)会与 docker 默认的配置有些冲突,会引起一些问题,所以还需要修改一下 clearos 的配置。下面的操作需要修改一些系统配置文件,需要确认无误才能保存继续。


用Docker技术完善NAS应用


nano /usr/lib/systemd/system/docker.service

在Xshell 中输入上面的命令,编辑 docker.service 文件。需要在 『#Start=/usr/bin/docker daemon -H fd://』 这一行后面添加参数『--dns=114.114.114.114』(注意:『--』是两个『-』,与前面的『fd://』有空格分开),这里可以将后面的 IP 换成你常用的 DNS 服务 IP。如果对这个不太懂的话一般使用 114 是没问题的。最终这行的修改结果应该是这样的:

#Start=/usr/bin/docker daemon -H fd:// --dns=114.114.114.114

安装 Ctrl+X 退出,按提示输入 Y -> 回车保存退出。

用Docker技术完善NAS应用

nano /etc/clearos/firewall.d/local

继续输入上面的命令操作,在打开的文件中添加下面的内容

systemctl try-restart docker

然后继续『Ctrl+X』-> Y -> 回车保存。

做完上述操作之后,可以重启 ClearOS 然后在 Xshell 中输入 docker -v 看是否可以正常返回版本信息,如果正常的话,就是 OK 了。

Q:为啥要这样做?

A:我在实际安装时发现,ClearOS 重启后加载的 iptables 规则是从其他配置文件中读取的,但是由于 docker 的网络配置也是使用的 iptables来配置的,会造成修改防火墙设服务重启后 docker 创建的规则丢失,需要手动重启 docker 服务才能解决容器的网络问题。修改的第二个文件,就是每次防火墙启动时执行的脚本。

DaoCloud

用Docker技术完善NAS应用DaoCloud 企业级容器云平台www.daocloud.io

DaoCloud 是一家容器云平台,由于伟大的墙的缘故,容器技术所依赖的镜像仓库在国内访问速度捉鸡,所以需要用到国内平台。另外,DaoCloud 也提供了私有集群管理平台,简单的来说,就是要利用 daocloud 来管理 ClearOS 上的 docker 服务。
所以,先注册一个账号登录再说用Docker技术完善NAS应用

登录之后,打开控制台,进入『加速器』,在加速器页面点击『立即开始』

用Docker技术完善NAS应用

用Docker技术完善NAS应用

然后就可以看到这个『接入自有主机』页面了,需要说明的是,即便没有外网 IP 也是可以支持的用Docker技术完善NAS应用。在『我已有一台主机』这边点下『CentOS』这个。

用Docker技术完善NAS应用

第一步是安装 Docker ,这个我们已经完成了,所以点击『安装好了』继续。

ClearOS 虽然是基于 CentOS 的,但是系统名称不一样,DaoCloud 的这个安装脚本是要根据系统名称来做判断的,所以没法直接用,后面需要手动安装 DaoCloud 的工具也是这个原因。

用Docker技术完善NAS应用

选择『详细安装步骤』会显示手动安装的步骤,这里就不一一说明了,在 Xshell 里面分步执行命令即可。

用Docker技术完善NAS应用

如果一切顺利的话,就可以在『我的集群』中看到自有集群中的主机数量不是 0 了。点击『管理主机』可以查看主机的情况。

用Docker技术完善NAS应用

如果都正常的话,这里就能看到 ClearOS 的系统信息了。

==================================================================================

迅雷远程下载

用Docker技术完善NAS应用

用Docker技术完善NAS应用

打开『应用列表』页面,这里会显示已经通过 DaoCloud 部署的容器应用,然后点击『创建应用』可以进入镜像仓库,这里就以迅雷远程下载用的 Xware 为例子了。在『DockerHub镜像』搜索 Xware,可以看到已经有很多现成的镜像了。我们点击一下『yinheli/docker-thunder-xware』这个镜像看一下有什么东西。

用Docker技术完善NAS应用

可以看到镜像的页面会有一些对镜像的说明,包括如何使用之类的,要注意的是,容器如果重新部署,那么容器运行时的修改将会丢失,为了避免下载好的大姐姐都飞走了,我们得用一些办法才行。点击上面的『部署最新版本』按钮继续。

用Docker技术完善NAS应用

这里先为应用起个名字,然后运行环境中要选『我的主机』并且选择好识别到的 ClearOS 主机,点击『基础设置』进入下一步。

用Docker技术完善NAS应用

由于前面说的容器重新部署之后修改会丢失,所以需要将本机的一个路径挂载到容器里面。之前镜像说明的页面也有提到过这个。可以看到,镜像说明中是先创建了一个 data 目录,然后在后面运行中使用了『-v $(pwd)/data:/app/TDDOWNLOAD』,我们已经知道 data 是本机路径,那么后面的 /app/TDDOWNLOAD 就是容器的路径了。

用Docker技术完善NAS应用

第二篇中我们已经在 /data 中创建了用于存放『Tranamission BitTorrent Client』下载文件的文件夹 download,所以在基础设置中的『容器路径』中填写『/app/TDDOWNLOAD』,在主机路径中填写『/data/download』,然后点添加按钮保存,之后就可以点击『立即部署』了。
注意:截图中的『本机路径』与文字描述不一样是因为我的机器路径就是跟攻略上不一样的。首次部署需要下载 DaoCloud 的工具镜像所以耗时比较久,需要耐心等待。


用Docker技术完善NAS应用

点击立即部署之后就会进入应用的界面了,默认显示的是日志。这里只要等待安装完成,就能在日志中看到迅雷远程下载的绑定码,剩下的想必也不用让我教了吧用Docker技术完善NAS应用

注意:如果重新部署容器,绑定码会变,需要重新绑定。如果想启动多个容器记得主机路径要分开,否则会有冲突。

===================================================================================

Aria2

最近各大云盘关闭,最头疼的事大概就是如何取回在云盘上的文件了。这里再用Aria2 做个例子,使用容器来部署一个,这样就下载就方便了。

用Docker技术完善NAS应用


还是在 DockerHub 镜像中搜,这次搜的关键字是『webui-aria2』,选择『joshua7v/webui-aria2』这个镜像。

用Docker技术完善NAS应用

来看一下镜像说明,这次没有中文,不过有 Xware 那边的例子,也可以找到运行的参数,可以看这次需要挂载的容器路径是 『/data』,点击『部署最新版本』开始部署。

用Docker技术完善NAS应用

跟前面一样,输入一个名称,并且将运行环境设置成自己的主机。

用Docker技术完善NAS应用

首先添加好挂载的目录,这次跟部署 xware 镜像时不一样,需要设置端口。可以看到有容器端口和主机端口,由于主机端口仍然是不能冲突的(一个端口只能给一个应用使用),如果你不知道自己的主机可用端口,那么这里就动态端口即可,如果可以确认主机端口哪些没有冲突,也可以手动指定。设定完成之后就可以点击『开始部署』进行安装了。

用Docker技术完善NAS应用

这里我选择的是动态端口,交给 Docker 管理端口。部署完成之后可以在『容器』这个标签里面看到,这里给 aira2 容器分配的主机端口分别是 32768 和 32769。由于已经知道 aria2 使用的监听端口是 6800,所以那个 8080 就应该是 web 控制台的端口。

用Docker技术完善NAS应用

用Docker技术完善NAS应用

在浏览器中打开 https://192.168.8.81:32768 就可以看到 Aria2 的 web 控制台了,然后需要设置一下监听端口,就是容器端口 6800 对应的主机端口 32769。

由于这个镜像的 /data 目录的权限问题,还得处理一下,不然下载会提示无法创建文件。

用Docker技术完善NAS应用

在 xshell 中输入『docker ps』可以查看正在运行的容器,『NAMES』对应的『dao_aria2_1』就是我们刚刚创建的容器。

用Docker技术完善NAS应用

继续输入『docker -ti dao_aria2_1 bash』就可以进入容器了。然后用之前第二篇提到的『chmod 777 /data』修改一下容器下载路径的权限,然后输入 『exit』退出就行了。

剩下的事就是安装一个浏览器插件来慢慢拉网盘上的文件了,希望还没有被度娘变成 8 秒教育片。

注意:# 触发了大妈的关键字无法保存,所以记得去掉『』用Docker技术完善NAS应用 。这里演示的例子是没有设置密码的,切记不要将防火墙的对应端口打开开放外网访问。

========================================================================================

后话:

最后这篇的难度可能比较大,不过每一步都有给截图还有要执行的命令,只要仔细操作应该是不难的用Docker技术完善NAS应用,谨记人生十六字真言:喜欢就买,不行就分,多喝热水,重启试试

由于 clearos 的防火墙(firewalld)会因为一些事件触发重启,重启后如果 docker 服务不重启的话,容器是无法访问外网的,所以才有上面的修改『/etc/clearos/firewall.d/local』文件。但是,还是有可能出现 docker 服务无法启动,可以在 xshell 中输入『systemctl start docker』手动启动,如果出现报错无法启动的情况——重启试试用Docker技术完善NAS应用

如果你需要使用 clearos 内置的账号管理,可能会遇到 『Account system offline』 的问题,这个在官方论坛已经有解答了,估计是个 bug ,但是目前来说只能自己通过终端(xshell)手动输入命令重启 webconfig 服务解决,重启命令是『systemctl restart webconfig』。系统日志在 /var/log 中可以找到,比较有用的有 system 和 message 两个日志,有记录 clearos 里面各种事件,对排查问题很有帮助。

有问题的同学可以在评论区留言,会尽量回复。

展开 收起

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

1849元起

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2485.01元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1799元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

3499元起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2599元起

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

1999元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2849元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

5899元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2799元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

3199元起

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

2499元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

1299元起

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

1290.51元起

ZSpace 极空间 私有云 T2 2盘位NAS存储(RK 3568、4GB)

ZSpace 极空间 私有云 T2 2盘位NAS存储(RK 3568、4GB)

1699元起

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

4299元起
53评论

  • 精彩
  • 最新
  • docker是个好东西。习惯debian直接组nas,没有webui,懂一点shell,也简单快捷。

    校验提示文案

    提交
    [赞一个] 想省事可以试试webmin

    校验提示文案

    提交
    收起所有回复
  • qnap 有container station的app。。。。arm的机器比如231+就可以用。。。。。 [期待]

    校验提示文案

    提交
    [尴尬] 去翻了下资料,确实可以docker on arm Linux,甚至还有非官方的32位支持。不过,这样的话就没法用类似daocloud的平台做管理了 [大囧]

    校验提示文案

    提交
    收起所有回复
  • 这玩意最大的问题是没有手机客户端可用,一般用户还是黑白群晖吧。

    校验提示文案

    提交
    plex有手机客户端,不过要付费。syncthing或者btsync也有手机端,开启webdav的话也有同步软件支持的。

    校验提示文案

    提交
    但怎么说都比群晖差得远啊。

    校验提示文案

    提交
    收起所有回复
  • 这里用Docker,目的是什么呢?

    校验提示文案

    提交
    docker可以简化应用安装,毕竟Linux上有很多可以用的玩意,而且与主机系统隔离,即便出现问题也不会影响主机系统稳定性。

    校验提示文案

    提交
    收起所有回复
  • 殊不知黑裙玩docker更简单,有UI,直接从docker hub下载,有向导启动,比较适合新手

    校验提示文案

    提交
    那是,而且还不用给钱给群晖 [皱眉] ,多划算啊。

    校验提示文案

    提交
    收起所有回复
  • 太小众了,比黑群晖还复杂。。。手机端,稳定性都捉鸡吧

    校验提示文案

    提交
    稳定性很多时候都是硬件占主要原因,CentOS本来就是作为服务器系统的,利用docker安装应用也可以有效隔离,安装失败删掉容器重来就是了,不会影响主机,群晖也是精简的Linux内核。手机端Android上问题不大。最大的问题还是安装起来的难度了 [尴尬]

    校验提示文案

    提交
    收起所有回复
  • 建议po主还是写到51cto itpub之类的较好,不懂linux确实看着比较累,毕竟民用的还是windows较多

    校验提示文案

    提交
    发到那边只需要一篇就够了 [皱眉] ,觉得有用就看一看,没用就跳过就好。 [无语]

    校验提示文案

    提交
    收起所有回复
  • 我以为来到了csdn

    校验提示文案

    提交
  • 虽然it狗出身,但是看到文里大段代码的,真心不想看,还是默默用黑裙

    校验提示文案

    提交
  • 懒人才是科技进步的原动力

    校验提示文案

    提交
  • 看完了楼主的文章写得很细. 补充个细节, 源增加后要yum update repolist去获取. 不然拉得不是自定的.
    网关用consul来注册. 可以打包上面的所有软件, 写成一个dockefile build 成image后. 挂到dockerhub, 这样大家不就直接可以用了.

    校验提示文案

    提交
  • 楼主owncloud你知道吗

    校验提示文案

    提交
  • 很详细,很辛苦,但是用黑裙白裙的多。LZ玩的小众了点

    校验提示文案

    提交
  • 小白表示很有兴趣

    校验提示文案

    提交
  • DS1511+没空间了,纠结买个DS1815+还是买个DX513

    校验提示文案

    提交
  • 虽然只会黑群晖Docker装远程迅雷,但是还是要顶一下技术文。打赏了

    校验提示文案

    提交
  • 看完,完全没看懂

    校验提示文案

    提交
  • 小白表示看不懂,纯粹技术文,分享意义不是一般大

    校验提示文案

    提交
  • 本文只对觉得群晖硬件价格高又不想侵权使用黑群晖的人有参考价值。 [尴尬]

    校验提示文案

    提交
  • 尼玛,docker都能上张大妈了,太高端了

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

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