前言

年初时博主为了学习 Docker 镜像的制作启动了 Aria2 Pro 项目,最初只是随便尝试一下,也没想到会这样受欢迎。现在几乎每隔几天就会有小伙伴问“ Aria2 Pro 在群晖上怎么部署”。不过话说 Aria2 Pro 文档已经很详细了,那小伙伴们为什么还要这么问呢?难道群晖 DSM 上的 Docker 有什么特殊性?于是博主带着疑问最近抽空了解了一下群晖的现状,然后发现大多数教程都只是某一个应用部署的流水式步骤记录,这也导致了目前大量的群晖用户实际上并没有学会如何使用 Docker ,而是跟着走了一遍某个应用的部署流程。了解情况后教程自然是要安排上的,但写纯粹的流水式步骤教程也并不是博主的风格,也没多少价值,所以这篇教程除了在群晖上部署 Aria2 Pro ,还会有一些对小伙伴们会很有用的一些知识。如果你已经对 Docker 有一定的了解,那么认真看完并付诸实践后就基本可以算得上是精通群晖 DSM 上的 Docker 部署了。

常规部署

  • 在 Docker 注册表界面搜索aria2-pro或者p3terx,下载 Aria2 Pro 镜像。

  • 在 Docker 映像界面选择刚刚下载的p3terx/aria2-pro映象并启动。

  • 来到创建容器界面,点击高级设置

    TIPS: 如果机器性能一般,大批量下载时很容易吃满 CPU ,为了不影响其他服务的运行,建议勾选启用资源限制CPU 优先顺序建议选择,内存则根据自己的实际情况来限制。

  • 高级设置选项卡下按照下图所示根据自己的实际情况添加配置目录(/config)和下载目录(/downloads)的文件夹和装载路径。

    TIPS: 左边是宿主机的文件夹路径,也就是实际文件要保存的位置,右边是容器内已经定义好了的路径,这里的设置是对它们之间进行映射。在实际使用中容器中的服务所显示的是右边的路径,就比如在添加下载任务时看到的就是/downloads,配置文件中的附加功能脚本路径是/config。文件保存的位置在这里就已经定义好了,所以在部署好后在配置文件中去修改是错误操作。

  • 高级设置网络选项卡下勾选使用与 Docker Host 相同的网络

    TIPS: 勾选后就不需要填一遍一模一样的端口号进行映射了,减少了一层 NAT ,会提升一定的网络性能,还能直接使用 IPv6 网络。很多教程会写容器端口映射的设置,那是因为早期 Docker 还没有 Host 网络模式,久而久之端口映射就成为了传统技能。而且这个提示让人觉得得好像会上不了网一样,它很大概率会让人放弃尝试和探索这个选项。

  • 来到高级设置环境选项卡,如果没有特殊需求一般只需要考虑定义下图红框内的 5 个环境变量的值,其它变量的详细介绍情参见 Aria2 Pro 文档

    • LISTEN_PORT:BT 监听端口(TCP)、DHT 监听端口(UDP)设置,默认为6888
    • RPC_PORT:RPC 端口,默认为6800。WebUI 连接时需要填写的端口。
    • RPC_SECRET:RPC 密钥,即 WebUI 连接时需要填写的密码,只建议使用字母和数字。
    • PUIDPGID:这取决于你想让哪个用户管理下载来的文件。群晖 DSM 初始化时创建的用户默认是1026100。建议通过 SSH 连接群晖后执行id命令去确认一下,不懂怎么做就直接留空。
    • 前 3 个环境变量如果留空后续可以通过配置文件进行修改,否则在配置文件中就是固定的,想要修改就需停止容器后修改相应的环境变量。
  • 最后就是点击应用下一步之类的按钮进行部署了,没什么难度,图片省略。
  • 容器初始化完成后在配置目录会有如下文件。如果长时间没有出现,那么就需要查看日志,看是否出了什么问题。

    TIPS: 默认的配置文件经过博主多年调教完全可以满足多数人的需求,一般不需要进行修改。如果改坏了可以把它们删除,然后重启容器,就会恢复初始状态。

完事后就是使用你喜欢的方式去连接了,博主个人推荐使用 AriaNg,对于初次接触的小伙伴,建议去看《AriaNg 使用教程》。

CLI 一键部署

下面来说说让大多数群晖用户闻风丧胆的 CLI 部署,也就是 Docker CLI 原生命令行启动 Docker 容器的方式。当你从相关文档中获取到启动命令后,直接复制、修改、粘贴一把梭就完事了,所有步骤用一张图足以说明:

思维活跃的小伙伴接下来肯定会去咕鸽搜索SSH是什么群晖如何SSH连接之类的,然后仿佛打开了新世界的大门,一发不可收拾。有些小伙伴的关注点可能在博主的 PowerShell 怎么这么好看上,准备留言“教练我想学”。还有一部分小伙伴可能已经关闭窗口了。所以这个部分只讲几个重点,启发一下想进一步学习的小伙伴。

  • 在控制面板中启用 SSH 功能才能进行 SSH 连接。

  • Aria2 Pro 文档获取启动命令,选项及参数在文档中有非常详细的说明,根据自己的实际需求调整。
  • 创建文件夹,查看它们的完整路径,替换启动命令中相关部分。

  • 在群晖 DSM 中 Docker 启动命令前需要加上sudo命令使用超级管理员(root)权限执行。会要求输入密码,也就是登录 DSM 网页管理页面的密码。

如果小伙伴们通过 CLI 一把梭的方式把 Aria2 Pro 部署成功,那么其它大多数的 Docker 应用部署就基本上游刃有余了,也就不再需要琢磨只讲某一个应用的流水式教程了。

群晖的 BUG

之前有很多使用群晖的小伙伴反馈说 Aria2 Pro 把内存占满了,当时猜测是磁盘缓存设得太大了,下载任务太多了。现在博主通过实际测试发现真实情况是群晖 DSM 的内存统计 BUG。

尾巴

几分钟能读完的教程绝对不是几分钟能写出来的,如果觉得这篇教程和 Aria2 Pro 对你有帮助,那么快去 GitHubDocker Hub 点个 star 吧!


本博客已开设 Telegram 频道,欢迎小伙伴们订阅关注。