如果你手头有百度网盘、阿里云盘、本地硬盘或者多台 VPS 上的 WebDAV,日常找文件经常要在四五个客户端之间来回切换,下载还得忍受客户端捆绑的各种臃肿功能,那么 Alist 就是目前最轻量、体验最纯粹的解法。
先讲清楚它的本质:Alist 是一个支持多种存储的文件列表程序。它核心的作用是「聚合展示」与「提供直链浏览」,把散落在各大网盘和服务器里的文件夹聚合挂载到一个网页目录里,支持视频在线播放、文档预览和高速直链下载。最关键的一点在于:Alist 本身不存储你的文件。所有文件数据依然安稳存放在你的百度网盘或本地磁盘中,Alist 只负责中转鉴权与读取展示,即使它的容器损坏或服务关停,源端网盘的数据也丝毫不受影响。本教程基于 2026 年 11 月 3 日最新实测记录,带你用最稳妥的 Docker Compose 方式把服务跑起来,并完成百度网盘的完整挂载流程。
使用 Docker Compose 快速部署
在 Linux 服务器上维护自建服务,Docker Compose 是最利于长期备份与版本维护的方式。我们只需要准备一个工作目录和一份极简的编排配置文件。
首先在宿主机创建项目目录,并进入该目录:
mkdir -p ~/alist && cd ~/alist在当前目录下新建 docker-compose.yml 文件,填入如下编排内容:
services:
alist:
image: xhofe/alist:latest
container_name: alist
restart: unless-stopped
volumes:
- ./data:/opt/alist/data
ports:
- "5244:5244"保存文件后,在当前目录执行以下命令启动容器:
docker compose up -d命令执行后,Docker 会自动拉取最新的 Alist 镜像并在后台启动容器。宿主机的 5244 端口将被映射至容器内部的 Web 服务端口,所有的配置信息与 SQLite 数据库都会持久化保存在当前目录的 ./data 文件夹内。
获取初始密码并登录后台
容器启动成功后,Alist 会默认生成一个随机的高强度管理员密码,记录在日志或内部数据库中。我们需要通过容器命令行直接读取或重置管理员账号 admin 的凭据。
在终端运行以下命令,查看随机初始密码:
docker exec -it alist ./alist admin random终端屏幕会输出类似于 password: xxxxxxxx 的信息,复制其中的字符串即可作为初次登录凭据。如果你觉得随机密码不便记忆,也可以直接使用 set 子命令设置自定义密码(将命令尾部的 random 换成 set 你的新密码):
docker exec -it alist ./alist admin set MyNewPassword123密码就绪后,在浏览器中打开 http://服务器IP:5244,即可看到 Alist 的登录界面。
首次访问 Alist 时界面默认为英文显示。如果习惯中文操作,登录成功进入系统后,点击左下角的语言图标选择「简体中文」,整个后台面板与前台目录便会立即切换为中文界面,操作更直观。
挂载百度网盘核心步骤
登录成功后,我们需要进入 Alist 的管理控制台,通过官方驱动接口把百度网盘的授权令牌接入进来,实现文件实时读取。
-
进入存储配置页:点击网页底部的「管理」按钮进入后台管理面板。在左侧导航栏中依次点击「存储」→「添加」,准备新建一个挂载源。
-
选择网盘驱动:在驱动下拉列表中,找到并选择「百度网盘」。此时页面会自动加载百度网盘专用的配置表单。
-
设置挂载路径:在「挂载路径」输入框中填入
/baidu。这是 Alist 前台目录树中的虚拟访问节点,配置完成后访问前台首页,根目录下就会出现名为baidu的文件夹。
图 3:百度网盘驱动选择与挂载路径设置项 -
获取刷新令牌(Refresh Token):挂载百度网盘必须通过官方授权拿取令牌。点击后台左下角的「文档」链接直达 Alist 官方文档页面,在存储列表中找到「Baidu 网盘(Baidu Netdisk)」,点击文档内内置的「获取 Token」辅助工具。在弹出的百度登录窗口中完成个人账号验证并同意授权,页面会自动生成一串
refresh_token。完整复制这串令牌内容,回到 Alist 后台的存储配置页面,将其粘贴到「刷新令牌」输入框中。 -
核对客户端凭据与接口:表单下半部分展示有「客户端 ID(Client ID)」、「客户端密钥(Client Secret)」以及「上传 API」等高阶参数项。
「客户端 ID」与「客户端密钥」务必保持界面自动预填的默认值,切勿随意修改或清空!预填参数与官方文档令牌获取工具深度配对,自行修改会导致刷新令牌鉴权失败,进而触发 API 错误无法列出目录。
图 4:填入刷新令牌并保持客户端 ID/密钥默认值 -
保存并验证状态:拉到表单最底部,点击「添加」按钮完成保存。保存后页面会自动跳回存储列表,若配置无误,状态列会很快显示为绿色的
work。此时点击左侧菜单的「主页」回到根目录,可以看到多出了baidu文件夹,点击进入能清晰列出你百度网盘中的文件和子文件夹,说明挂载彻底成功。
踩坑实录与高频问题排查
在日常运维和使用 Alist 挂载百度网盘的过程中,有几个几乎每位新手都会踩到的典型网络与权限坑位,建议提前了解:
1. 挂载一段时间后目录突然变空或报鉴权错误:遇到首页点击 /baidu 显示空白、报网络错误或状态变为 invalid token 时,十有八九是百度的刷新令牌(Refresh Token)在远端生命周期到期失效了。这并不代表接口损坏,你只需重新进入后台的「存储」列表,点击编辑该百度网盘条目,按照上述流程重新去官方文档工具页登录授权、取一份新的 refresh_token 覆盖粘贴保存即可。再次强调:你的文件全部安然存放在百度网盘服务器中,令牌失效只会中断读取,绝对不会造成任何文件丢失。
2. 容器启动正常但浏览器无法打开 5244 网页:很多读者本地执行 docker compose up -d 顺利通过,在服务器用 curl 127.0.0.1:5244 也能正常返回 HTML,但用外网公网 IP 访问就一直超时。这是典型的云平台防火墙拦截。请检查腾讯云、阿里云或华为云后台控制台中的「安全组 / 防火墙」规则,务必手动添加入站规则放行 TCP 5244 端口;若服务器内启用了 ufw 或 firewalld,也需执行放行命令,否则公网连接会被直接掐断。
3. 数据迁移与持久化备份机制:Alist 的设计极为绿色精简,全部站点配置、添加的网盘凭据、用户权限以及 SQLite 数据库文件均实时写入在部署目录下的 ./data 中。这意味着无论你后续升级 Alist 镜像版本,还是误删除了 Alist 容器本身,只要这个 ./data 目录未被清空,重新执行 docker compose up -d 就能 100% 原样恢复所有配置。如果要迁移至新服务器,只需在新机部署同款 docker-compose.yml,并将打包好的 data 文件夹解压到同级目录即可完成无缝秒级迁移。