绿联DX4600用Docker部署Alist,把网盘挂成本地文件
简介面向绿联 NASDX4600/DH2600用户的一份 Docker 应用部署图文教程重点演示如何在绿联 Docker 中安装 Alist并挂载阿里云盘、115 网盘等常用网盘存储。教程定位为零基础友好全程给出详细操作路径与界面指引包含本地镜像下载、容器高级模式配置、存储空间与端口设置、初始密码获取及网盘刷新令牌/Cookie 填写等关键步骤同时也标注了群晖、极空间等设备在界面上的细微差异便于用户举一反三。全包仅 1 个 PDF 文件大小约 2.91MB内容以图文步骤为主目录划分明确1-20 Alist 容器配置、21-22 阿里云盘挂载、23-25 115 网盘挂载阅读时可以按需跳转。目前已有 908 人学习/浏览适合刚入手绿联 Docker、想快速搭建私人网盘聚合入口的小白用户按教程逐步操作即可完成部署并掌握后续扩展其他网盘的基本思路。1. DX4600 上跑 Alist把网盘挂成本地文件的思路绿联 DX4600 是一台四盘位 NAS系统基于精简过的 Linux 发行版自带 Docker 管理器。第一次拿到这台机器最容易踩的坑是和以往“装套件”的思路不一样——Docker 里跑的 Alist 不是一个普通应用而是一个常驻进程把网页、服务端、网盘 token 全塞进一个容器里。Alist 解决的是很具体的一件事把分散在夸克、阿里云盘、115、百度网盘里的文件统一成一个文件列表再通过网页或 WebDAV 访问。适合那些不想在手机和电脑上装一堆网盘客户端、又想把 NAS 当统一入口的人。这篇教程会把从拉镜像到挂载网盘的完整路径讲清楚包括参数怎么设、失败时看什么。2. 为什么是 DX4600 Alist容器架构与网盘驱动的选型逻辑2.1 DX4600 的 Docker 环境与镜像架构绿联 DX4600 的 CPU 是 x86_64 架构Intel 平台所以 Docker 镜像方面不用考虑 ARM 兼容性直接拉amd64标签的镜像就行。系统自带的 Docker 管理器能完成镜像拉取、容器创建、日志查看这些基本操作但我实际用下来的感受是UGOS 的 Docker 界面只暴露了一部分参数像PUID、PGID这种环境变量在图形界面上能填但--restartalways这种重启策略得在高级设置里找或者干脆 SSH 进系统用命令行操作。一个值得先搞清楚的背景Alist 官方镜像的仓库名是xhofe/alist数据目录默认在容器内的/opt/alist/data。这意味着 Alist 的配置文件、SQLite 数据库、日志全在这个目录下挂载宿主目录时必须把这个路径映射出来否则容器一删配置和网盘 token 全没。我第一次在 DX4600 上装的时候图省事没映射数据目录结果容器升级后 token 全部失效得重新在网页端扫码授权。后来学乖了数据目录映射是第一个要保证的挂载点。2.2 Alist 的驱动机制token、cookie 与统一文件列表Alist 本身不做数据存储它做的事情是把“网盘驱动的 API 调用”统一成一套标准文件接口。每个网盘驱动对应一类网盘的授权方式分为三种OAuth 类比如阿里云盘、OpenAI 相关服务授权后拿到 refresh token长期有效失效后可以刷新。Cookie 类比如夸克网盘、115登录网页版后复制 Cookie 填进去。这类最容易翻车因为 Cookie 有效期短网盘风控一严就失效。WebDAV 类比如坚果云、Nextcloud直接填服务器地址和账号密码。理解了这三类你就知道为什么 Alist 的“存储管理”页面那么多字段了——每一个驱动字段都是在描述“怎么拿到那个网盘的授权凭证以及怎么请求它的 API”。这个思路在排错时特别有用挂载失败的时候先判断是网络问题还是授权问题再看驱动日志。2.3 在 UGOS 里用 Docker 管理器创建容器前的准备动手之前先准备两个东西一个固定的宿主机路径一个端口规划。路径我一般放在/volume1/docker/alist这是 UGOS 上常见的存储目录形式。你需要在这下面建两个子目录mkdir -p /volume1/docker/alist/data mkdir -p /volume1/docker/alist/mediadata放 Alist 的配置数据库media是用来测试本地存储的目录——如果你想把 NAS 上的电影通过 Alist 统一对外提供后面会用到。端口方面Alist 默认监听 5244DX4600 的 5244 端口通常是空闲的直接映射即可。提示不要用/root或/home下的路径挂载容器目录UGOS 对普通用户目录的权限控制比较特殊容易出现容器内写不进去的问题。3. 用 Docker 跑起 Alist 最小命令镜像参数与数据目录3.1 在 SSH 里完成拉取与创建虽然 UGOS 有图形化 Docker 管理器但我建议第一次部署用 SSH因为你能直接看到拉取进度和容器启动日志排错时信息更全。SSH 登录 DX4600 后先拉镜像docker pull xhofe/alist:latest拉取可能需要几分钟。如果卡在waiting状态先排查网络后面第 5 章会专门讲。接着创建容器docker run -d \ --name alist \ --restartalways \ -p 5244:5244 \ -v /volume1/docker/alist/data:/opt/alist/data \ -e PUID0 \ -e PGID0 \ -e UMASK022 \ xhofe/alist:latest3.2 每个参数的含义与调整方式上面这段命令是 Alist 官方推荐的最小配置逐项拆开看--restartalways容器异常退出或 NAS 重启后自动拉起。这个参数必须设不然 DX4600 断电重启后 Alist 不会自动回来。-p 5244:5244宿主机 5244 端口映射到容器内的 5244。如果想换端口改成-p 8080:5244即可但后面访问地址要对应调整。-v /volume1/docker/alist/data:/opt/alist/data把宿主目录映射到容器数据目录。这是“后悔药”所在——备份这个目录就等于备份整个 Alist。-e PUID0 -e PGID0让容器内进程以 root 身份运行。这是为了省权限问题的临时做法。如果你对系统安全有要求可以创建一个普通用户填它的 UID/GID但要注意这时/volume1/docker/alist/data目录的属主必须是该用户。UMASK022控制容器内新建文件的默认权限位保持默认即可。有个容易被忽略的点latest标签会跟随上游更新以后执行docker pull xhofe/alist:latest拉新镜像后需要删除旧容器并用新镜像重建。因为数据目录已经映射到宿主机重建时配置和 token 都不会丢。3.3 首次启动与初始化拿管理员账号启动后 Alist 第一次运行会生成随机管理员密码命令行方式用这条命令查看docker logs alist 21 | head -50日志中会输出admin users password: xxxxx一行。看到后立即访问http://你的DX4600IP:5244用默认账号admin和这个随机密码登录然后在后台“个人资料”里改掉密码。如果你错过日志里的密码也不用重装用官方内置命令重置docker exec -it alist ./alist admin random这条命令会重新生成一个随机密码并打印到终端。注意它要求容器内的 alist 进程没有在运行否则会报错需要先docker restart alist再执行操作完再启动。注意如果docker logs输出为空大概率是容器没起来先查看docker ps -a里的状态再重点看第 5 章的排查流程。4. 挂载网盘到 Alist以夸克网盘为例的参数清单4.1 添加驱动后台操作流程Alist 后台管理界面在网页左下角或右上角有一个“管理”入口点击后进入管理后台左侧菜单找“存储”。出现“存储”列表后右上角“添加”按钮弹出一个驱动选择下拉框。列出的驱动非常多——阿里云盘、夸克网盘、115、百度网盘、OneDrive、S3 兼容存储等。选错驱动是新手最常见的翻车点夸克必须选名称带“夸克”的那一项而不是选“阿里云盘”因为它们的 API 完全不一样。添加后的参数填写是主要工作量。下面是常用的流程多数驱动都适用挂载路径填/quark这是 Alist 网页上看到的目录名不要包含协议名。缓存过期时间默认 30 分钟改小意味着每次访问刷新频率高但文件列表更新及时改大则缓存命中性好但远端删除的文件还会显示一段时间。排序建议保持默认的“自然排序”中文文件名排序不会乱。Web 代理默认关闭。打开后Alist 会通过自己的服务器转发文件流适合限制网盘直连的情况但会增加 NAS 的带宽负担和 CPU 消耗。4.2 夸克网盘字段逐项填写夸克网盘驱动需要填的字段如下字段填写内容说明挂载路径/quark网盘在 Alist 中的访问路径Cookie__uidxxxx; ...登录夸克网页版后从开发者工具获取的请求头 Cookie强制登录开防止 Cookie 失效后仍尝试请求 API排除文件夹空不挂载的目录路径按需填写根文件夹 ID空或指定 ID空表示从根目录开始挂载夸克这类 Cookie 驱动的特点是首次配置成功后访问正常但过几天可能突然失效。现象是 Alist 网页能看到目录结构但打开文件夹时一直转圈查看日志报401或403。解决方式是重新复制网页版夸克的新 Cookie替换后保存即生效不需要重建存储。4.3 阿里云盘、115 驱动的差别阿里云盘驱动走的是 OAuth 授权在 Alist 后台选择“阿里云盘”后会出现一个“授权”按钮点击后弹出二维码或跳转链接用阿里云盘 App 扫码完成授权。授权后系统自动获取 refresh token不涉及手动复制 Cookie。但它的坑在于同一台设备上如果登录了多个阿里云盘账号驱动会混淆授权范围最好一个驱动只对应一个账号。115 驱动则是 Cookie 类但比夸克更敏感。115 网页版登录后会生成CID和SEID两个关键 Cookie且有效时间不稳定有时一两天就失效。挂载 115 前建议先在浏览器里完整登录一次确认能访问网盘内容后再复制 Cookie。115 驱动的参数里还能填“身份认证”字段如果你的 115 开了短信验证需要额外处理。所有 Cookie 类驱动共用一条排查经验先确认网页版网盘能正常访问再怀疑 Alist 配置——这一步能排除一半的玄学问题。5. Docker 与网盘挂载的常见问题排查镜像慢、启动失败、token 失效5.1 镜像下载慢或一直卡住现象docker pull xhofe/alist:latest执行后长时间停留在Waiting或Pulling fs layer下载进度几乎不动。原因Docker Hub 默认镜像源在国内访问不稳定。这是网络问题不是命令问题。解决修改 Docker 的镜像加速配置。DX4600 的 Docker 守护进程配置文件在/etc/docker/daemon.json如果没有就新建写入{ registry-mirrors: [https://docker.m.daocloud.io] }保存后执行sudo systemctl restart docker注意重启 Docker 会连带重启所有运行中的容器。重启后等一两分钟再执行docker ps检查容器状态Status 显示Up才正常。如果容器状态是Restarting说明重启 Docker 后容器自动拉起失败按下一条继续查。5.2 容器反复重启现象docker ps -a看到 Alist 容器状态始终是Restarting或Exited (1)docker logs alist没有任何有用输出。原因最常见的原因是数据目录权限问题。容器内进程无法写入映射的宿主目录时Alist 进程初始化失败并退出。解决先确认目录权限ls -ld /volume1/docker/alist/data如果属主不是 root就改成 rootsudo chown -R 0:0 /volume1/docker/alist/data然后重启容器docker restart alist再查日志确认。这一条能解决九成启动失败的问题。5.3 文件列表打不开现象Alist 能登录后台也显示存储“工作正常”但访问挂载路径时目录一直转圈或者某些文件下载时直接失败。原因分为两类——一是网盘 API 临时限流二是挂了代理导致的回环。解决先打开 Alist“存储”里对应驱动的“日志”按钮看最近的报错状态码401token/cookie 失效重新授权或重新复制。429请求频率过高把驱动的“缓存过期时间”从 30 分钟调到 60 分钟减少 API 请求。502/503网盘服务端临时故障等一段时间再试。如果日志里没有报错检查是否开了“Web 代理”开关。开了代理后Alist 会先把文件下载到 NAS 再转发这个过程中如果 NAS 剩余磁盘空间不足也会表现为文件列表正常但下载卡住。关闭 Web 代理并重启 Alist 可验证这一点。5.4 token 失效后如何快速恢复现象阿里云盘挂载半小时前还好好的突然所有目录都打不开了后台显示“token expired”。原因refresh token 被网盘服务端吊销。可能是重新授权时把之前的 token 顶掉了也可能是网盘端主动清理了不活跃设备的 token。解决不要删除存储重加直接在后台编辑该驱动重新执行授权。阿里云盘驱动在编辑页面会重新生成授权二维码扫码后 token 会自动更新并保存。对于夸克这类 Cookie 驱动重新复制完整 Cookie 粘贴即可前后端会自动覆盖旧值。5.5 容器在 NAS 重启后消失或状态异常现象DX4600 断电重启后docker ps -a里找不到 alist 容器或者容器状态为Exited。原因创建容器时没设置重启策略或者使用了 UGOS 图形界面创建时某些高级选项没填。解决Docker 里新增容器后可以用docker update给已有容器补上重启策略docker update --restartalways alist如果你是从图形界面创建的容器也可以直接在 UGOS 的容器详情页找到“重启策略”改为“总是重启”保存后重启策略立即生效。6. 让 Alist 跑得更稳资源限制与 WebDAV 回挂6.1 给 Alist 限定内存上限Alist 长时间运行后特别当挂载了多个大网盘、开启 Web 代理时内存占用会缓慢增长。DX4600 的内存有限建议给容器加上限制docker run -d \ --name alist \ --restartalways \ -p 5244:5244 \ -v /volume1/docker/alist/data:/opt/alist/data \ -m 1g \ --memory-reservation 512m \ -e PUID0 -e PGID0 \ xhofe/alist:latest-m 1g表示硬上限 1GB--memory-reservation 512m表示正常情况下的预留值。超出 1GB 时容器会被 OOM 杀掉并自动重启效果上相当于给 Alist 买了一个内存保险绳。6.2 用 WebDAV 把 Alist 挂回电脑Alist 的价值不只网页访问它还内置了 WebDAV 服务开启方式很简单后台“设置”里找到“WebDAV”密码留空则默认使用 admin 账号密码。开启后电脑上可以把 Alist 挂成一个本地磁盘。以 macOS 为例open http://你的DX4600IP:5244/dav会弹出登录框用 admin 账号登录后就挂载上了。Windows 上则是“映射网络驱动器”地址填http://你的DX4600IP:5244/dav。这样夸克网盘里的文件就像本地文件一样出现在资源管理器里配合 Infuse 或 Jellyfin可以直接播放网盘里的影视文件。我的习惯是挂载后立即复制一个几百 MB 的文件到本地试一次传输确认 WebDAV 服务正常。这一步能提前暴露网络栈、账号权限层面的问题。最后想提醒的是Alist 这类工具的价值在于把网盘变成了你的基础设施一旦配好就不要频繁改参数保持稳定比追求新功能更重要。希望帮到你。本文还有配套的精品资源点击获取
上一篇/下一篇内容由系统自动关联
返回资讯列表 →