☰
绿联NAS Docker部署Alist:统一挂载阿里云盘与115网盘教程
2026/10/2 10:44:36 网站建设 项目流程

简介:面向绿联 DX4600 及 DH2600 NAS 用户的 Docker 实操指南,以 Alist 安装与网盘挂载为主线,解决在 NAS 上统一访问阿里云盘、115 网盘等资源的配置问题。教程全程按步骤展开,从镜像仓库搜索 xhofe/alist、下载镜像、创建容器,到高级模式下的存储空间路径选择、本地端口 5244 设置、重启策略建议,再到通过容器日志提取初始密码并完成后台登录,均有配图说明。阿里云盘挂载部分重点讲解刷新令牌获取,115 网盘挂载部分则演示 F12 抓取 Cookie 的详细操作,其他网盘可参照同样方式添加。压缩包仅含 1 个 PDF 文件,大小 2.91MB,内容以图文对照方式组织,便于边看边操作。该资源已有 908 人学习下载,适合希望快速掌握 NAS Docker 网盘挂载方法的用户;教程同时注明群晖与极空间在操作上的差异,可避免跨设备照搬时出错。

1. 绿联 DX4600 与 Docker 里的 Alist:给网盘开一个统一入口

如果你手头正好有一台绿联 NAS,把 Alist 跑进 Docker 这一步,基本等于给所有网盘开了个统一入口。这份教程最初是给 DH2600 用户写的,但操作路径对绿联 DX4600 以及绿联云其他机型同样有参考价值,容器创建的流程走的是同一套界面逻辑;群晖、极空间用户则会发现路径和权限设置完全两样。读完你能得到一个可自启的 Alist 容器,挂上阿里云盘和 115 网盘,所有网盘文件用一个地址就能看全,追剧、整理资源、跨盘拷贝都会顺手很多。适合刚拿到 NAS、第一次打开 Docker 页面的新手,也适合照群晖教程在绿联上翻过车的用户。全文最容易被忽略的是存储映射和 cookie 抓取,这两处后面展开讲。

2. 把 xhofe/alist 装进绿联:镜像选型、存储映射和端口参数一次讲清

这一步看起来只是「下载镜像 → 建容器」,实际上绿联 Docker 的容器创建页签里,绝大多数默认值都不是给 Alist 准备的。原教程的顺序是先搜镜像再改配置,我按自己的习惯倒过来讲:先让你明白四个页签里哪些要改、为什么改,再跟着点就不会觉得每一步都在猜。

2.1 镜像选型:为什么搜 xhofe 而不是 alist

Alist 官方维护的 Docker 镜像就在 Docker Hub 上,名字是 xhofe/alist。绿联 Docker 页面的「添加」弹窗里,官方库 URL/镜像名称一栏直接输入 xhofe 或者 xhofe/alist,回车后选中第一条确定,剩下的下载交给后台。如果你习惯 SSH 操作,UI 上的「添加」等价于在终端里执行:

docker pull xhofe/alist:latest

xhofe/alist:latest是官方推送的最新稳定镜像,:latest在 NAS 场景下够用,不必锁版本号。下载完成后页面上会出现 All done,如果本地镜像列表里没有,先点右上角刷新,这是绿联 Docker 页面典型的缓存问题,等半分钟再刷新一次基本都会出现。

需要注意一个搜索习惯:不要在镜像名前面脑补 docker.io/ 前缀,绿联的搜索框会自动补全官方仓库地址。另外镜像下载慢是常事,第一次拉这个镜像大概几百 MB,如果卡在进度条不动,常见做法是先去 Docker 的 registry mirror 加速设置里配好镜像加速地址,再回来重新拉;别反复删除重建,镜像层的断点续传比你想的可靠。

2.2 创建容器:名称、重启策略、存储映射、端口

镜像下载完以后,点「创建容器」。这里先把名称改成 alist 或你习惯的名字,然后打开高级模式。高级模式会展开全部页签,下面四个地方是按 Alist 需要改的。

提示:容器名称只影响你在绿联界面里的辨识,不影响 Alist 功能,但建议别用默认的随机字符串,后面查日志、建快捷方式都会省事。

第一处是重启策略。Alist 挂载多个网盘后,进程偶发退出是正常现象,选择「容器退出时总是重启容器」,相当于给了它一个守护,容器挂了会被自动拉起。如果你选了「不自动重启」,一次手动关机后再开机,Alist 不会自己回来,到时候你人在外面就打不开网盘页面。群晖那边更多人习惯选「除非停止」,绿联上这个选项也有,但我建议按原教程选「总是重启」。

第二处是存储空间。点「自动」,选择你的 Docker 存放盘,比如 M.2 硬盘 2,然后依次展开 Docker > alist > data 并双击选中。我强烈建议你在这一步之前,先用文件管理器在存储空间根目录把Docker/alist/data这三层目录建好,再回来映射。因为绿联的路径选择器在目标目录不存在时不会帮你创建,选错会直接映射成一个空目录或失败。选中后务必把右侧「只读」改成「读写」,Alist 要把配置、数据库和日志写进去,只读会导致容器能启动但保存不了任何变更。

这一处映射的完整含义是:把宿主机上的/xxx/Docker/alist/data目录,挂载到容器内部的/opt/alist/data。Alist 的配置文件 config.json、数据文件 data.db 都在这个目录里,以后你备份、迁移、重置密码都靠它。

第三处是端口。本地端口写 5244,容器端口保持 5244。本地端口可以改成别的数字,比如 5245,只要不和其他容器冲突就可以,但新手学这套教程时不必改,后面访问地址直接http://NAS 的 IP:5244最省心。需要说明的是,绿联界面里的本地端口对应-p参数的宿主机侧,容器端口对应容器侧,Alist 默认监听 5244,容器侧不要动;想改容器侧也不是不行,但那就得进容器改配置,划不来。

如果你平时走 SSH,上面这几步等价于这条命令:

docker run -d \ --name=alist \ --restart=always \ -v /volume1/docker/alist/data:/opt/alist/data \ -p 5244:5244 \ xhofe/alist:latest

参数说明:-d后台运行;--restart=always对应「容器退出时总是重启容器」;-v前面是宿主机目录、冒号后面是容器内挂载点;-p冒号左侧是宿主机端口、右侧是容器端口。命令里的/volume1/docker/alist/data是群晖路径写法,绿联 UI 操作会自动带出真实路径,无需手填,SSH 时按你存储空间的实际情况写。

到这里容器创建完成,回到容器管理把它启动。启动后建议顺手点右边的「快捷方式」在桌面生成入口,也可以直接浏览器访问http://NAS 的 IP:5244。第一次打开会看到一个纯白的登录页,账号默认是 admin,密码不在这里,它打印在容器日志里。

2.3 第一次登录:日志里的初始密码去哪找

Alist 首次启动会随机生成一个 admin 密码,并且只输出到容器日志里一次。原教程让你在容器管理 → 详情 → 日志里往上翻,找到 password 那一行,复制后面的值去登录。这一步对新手来说最容易翻车,原因是日志窗口默认停在最后,而密码行可能已经滚过去了,要往上拖。

如果你不方便在界面上翻,SSH 执行下面这条更直接:

docker logs alist 2>&1 | grep -i password

docker logs按时间顺序输出日志,grep 过滤出密码行,-i忽略大小写,避免有的版本输出 Password、有的输出 password。执行完拿到的一串随机字符就是初始密码。

登录进去以后,第一件事改密码:左侧「用户」→ admin → 编辑 → 输入新密码保存。改完会被要求重新登录,这是正常现象。另一个安全细节是 guest 账号,原教程里也提到了,guest 默认有权限,虽然不是超级管理,但建议把它的密码改掉,或者直接停用。很多人在这一步跳过,后面 Alist 暴露到公网才发现 guest 能看目录,那就不叫踩坑,叫裸奔了。

3. 挂载阿里云盘与 115 网盘:刷新令牌和 Cookie 的抓取与填写边界

Alist 容器跑起来只是第一步,真正让它有用的动作在「存储」页签里。点左侧「存储」→「添加」,会看到一大串驱动列表,阿里云盘、115 网盘、夸克、天翼云盘都在里面。这一章的坑不在于选哪个驱动,而在于「刷新令牌」和「Cookie」这两个字段,很多人把它和账号密码搞混。

3.1 添加存储:先搞清楚这几个字段再说

每个驱动的表单长得不一样,但有四个通用字段是共通的:挂载路径、驱动名、刷新令牌或 Cookie、读取策略。

字段含义常见错误
挂载路径Alist 虚拟目录,形如 /aliyun、/115有人填成 /mnt/data,以为像 Linux 挂载磁盘
驱动对应具体网盘的 API 实现选错驱动会直接 fail
刷新令牌 / Cookie用于授权访问网盘把 access_token 当 refresh_token 填
缓存策略目录列表的缓存方式默认即可,不必改

挂载路径是 Alist 内部的虚拟路径,不是宿主机路径,也不是网盘路径。它决定你在 Alist 页面里看到哪个目录名;比如填/aliyun,访问http://NAS:5244/aliyun就是阿里云盘的内容。这个字段在 Alist 文档里也叫 mount path,建议全用英文和斜杠开头。缓存策略默认值就够用,改动它只会影响目录列表的刷新时机,对小白来说没有任何收益。

3.2 阿里云盘:拿到刷新令牌而不是 access_token

原教程在阿里云盘这一步写得很简略:「将方框内的 token 值复制后填入刷新令牌内」。这里补全获取流程。Alist 官网(alist.nn.ci)每个驱动都有一页对应的文档,阿里云盘 Open 驱动那一页会提供扫码授权入口。你在那页扫码并确认授权后,会得到一个字符串,那才是 refresh_token。

注意:授权返回的长字符串中,refresh_token 和 access_token 是分开的。access_token 短,过期后失效;refresh_token 长,用来自动续期。填错成 access_token 的典型症状是「添加后状态短暂有效,过几小时就变 fail」。

把 refresh_token 填进「刷新令牌」框,其余字段按默认,保存即可。状态栏第一次同步可能出现 pending,等几秒刷新再看,变成 work 或正常就说明挂载成功。想手动触发重新校验,编辑该存储再保存一次就行,不用删除重建。

阿里云盘这里有个体验差异值得说:同一个阿里云盘账号,你之前在网页端用过的文件都能看到,但如果你的文件在「备份盘」或「资源库」这种分流目录里,需要在驱动配置里指定挂载的是哪个库,默认挂载的是备份盘。原教程没提这点,因为大多数人的文件就在备份盘,遇到「挂上了但目录是空的」时回来检查这一项。

3.3 115 网盘:F12 取 Cookie 的三个边界

115 网盘在 Alist 里的驱动基于网页版 Cookie,所以获取步骤是:电脑浏览器登录 115 网页版 → 按 F12 打开开发者工具 → 再按 F5 刷新页面 → 在 Network 面板里点任意一条请求 → 在 Request Headers 里找到 Cookie 一整段复制。

这里有三条边界要守住。第一,复制的是值,不是整行。很多人复制时把Cookie:这个字段名也带进去了,粘贴到 Alist 里就会验证失败。第二,Cookie 和会话强绑定,不要在复制完以后退出登录,也别换浏览器;一旦退出,这个 Cookie 很可能立即失效。第三,Cookie 的时效没有明文约定,实际经验是一段时间后会失效,等到 Alist 里 115 的状态变成 fail,重新抓一次填进去即可。

抓 cookie 也可以直接看页面存储,但浏览器里直接抓 Cookie 是通用做法,夸克、天翼云盘等走 Cookie 的驱动都是同一套边界:值不带前缀、不短斤缺两、失效了重新抓。走 API 令牌的驱动则另外一套逻辑,别混用。保存 115 后同样确认状态。如果 fail,先检查是不是带上了前缀,再检查是不是复制前退出过登录,最后考虑是否在网页版登录后又动过设备验证。

4. 避坑排查:绿联 Docker 装 Alist 的五个典型翻车现场

把流程完整跑过一遍的人,大概率会在下面五个位置上翻车。我把现象、原因、解决分开写,你可以直接对照自己的情况。

4.1 镜像与容器的三个翻车点

第一个翻车点:镜像下载完成,本地镜像列表里却看不到。现象是「All done」已经出现,回镜像管理刷新两三次还是没有 xhofe/alist。原因多半是页面缓存没有及时刷新,或者 Docker 服务在下载完成瞬间还没有把元数据写进列表。解决:点右上角刷新按钮,等 10 到 30 秒再刷新一次;再不行先在 SSH 里执行docker images | grep alist确认镜像实际存在,然后切到「容器管理」再切回来,强制列表重新加载。不要在看不到镜像时重复下载,同一个 tag 重复拉不会额外占多少流量,但会白白浪费时间。

第二个翻车点:存储空间那里选不到想要的目录,或者选完以后容器启动失败。现象:双击展开 Docker > alist > data 时 data 目录不存在,选择器停在上一级。原因:绿联 UI 不像命令行会自动 mkdir,目标目录必须提前建好。解决:先去文件管理器把 Docker/alist/data 逐层创建,再回来映射。如果你已经用别的路径创建了容器,也不想重建,可以在容器详情里修改挂载并重启容器,但改挂载前记得先停容器,不然绿联会提示你容器占用中。

第三个翻车点:端口冲突导致容器一直在重启。现象:创建容器时本地端口填了 5244,但容器状态反复显示异常,或者页面根本打不开。原因:NAS 上另一个容器或系统服务已经占用了 5244。解决:把本地端口改成 5245 之类的空闲端口,容器端口保持 5244 不动;也可以 SSH 执行netstat -tlnp | grep 5244看是谁占的。改完端口以后,快捷方式和浏览器书签的地址都要同步改,白屏时先检查这一步。

4.2 登录与挂载的两个翻车点

第四个翻车点:日志里找不到初始密码。现象:容器已经 running,但日志窗口拉到顶也没看到 password。原因:要么容器数据目录不是空的,Alist 复用了旧配置没有重新生成随机密码;要么日志输出量大,密码行被冲刷了。解决:第一次启动一定会有密码行,往上翻一般能找到;如果目录里已有 config.json,说明你之前跑过容器,密码是你自己设的那一个,不是初始密码。想直接重置就用容器终端执行./alist admin set 新密码,这是 Alist 提供的标准重置命令,执行完用新密码登录。

第五个翻车点:存储添加后状态是 fail。现象:阿里云盘或 115 填完保存,右边状态栏显示 fail 而不是 work。原因:阿里云盘多数是 refresh_token 填成了 access_token;115 多数是复制时带了Cookie:前缀,或者复制前退出过登录。解决:去官方文档重新走一遍授权流程,重新复制,保存后再等几秒刷新状态。如果两个都重试过还是 fail,检查系统时间,NAS 时钟如果偏离太多,HTTPS 握手会失败,这个问题排查时很容易忽略,但绿联上确实遇到过。

5. 日常维护三件事:验证挂载、找回密码、固定入口

Alist 跑起来、网盘挂完,后面其实是日常使用问题:它到底通不通、密码忘了怎么办、每次访问怎么最顺手。我一般会固定做三件事来收尾。

验证挂载最直观的办法是打开浏览器http://NAS 的 IP:5244,在页面里应该能看到 /aliyun、/115 两个目录,点进去每个目录里能列出文件。想自动化一点,SSH 执行:

curl -s http://127.0.0.1:5244/d/aliyun | head -20

返回的内容是 Alist 的 JSON 目录列表,能看到文件名就说明容器、存储、网络三层都通了。注意 curl 要在 NAS 上执行,用 127.0.0.1 是验证本机服务;从外部验证就换成局域网 IP。

密码这块是最容易忘记的。初始密码改过一次又忘了,不用重装容器。绿联容器详情里一般有终端入口,进去后执行 Alist 自带的重置命令;没有终端入口就先 SSH 到 NAS,再执行:

docker exec -it alist ./alist admin set 你的新密码

执行完立即生效,重新登录即可。数据目录里的 data.db 会被更新,所以这招不会动到你已挂载的网盘配置。唯一的依赖是容器还在,如果容器都删了,只要你备份了 data 目录,重新映射回来,配置依然在。

固定入口方面,绿联容器管理页右侧的「快捷方式」按钮可以在桌面生成图标,点击直达 Alist 页面;如果是在局域网外访问,需要给 NAS 配置端口转发或者在路由上做远程访问,这部分各家路由器差异大,按自己的设备来。网上有些人喜欢把 Alist 反代到子域名,这属于进阶玩法,前提是你的公网和域名都齐了再做。

从那以后我每次在绿联上部署完 Alist,都会强制走一遍「curl 验证挂载 → 确认密码 → 生成快捷方式」这三步,再顺手确认一次重启策略是「总是重启」。这半小时的收尾工作,替我省掉了后面不知道多少次的半夜排查。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询