Alist Docker 安装与基础配置教程

📚 Alist Docker 版完整安装与配置教程


一、拉取 Alist 镜像

1.1 配置国内镜像加速器(重要,避免拉取失败)

编辑 Docker 配置文件:

nano /etc/docker/daemon.json

写入以下内容(多地址备份):

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}

保存后重启 Docker:

systemctl daemon-reload
systemctl restart docker

1.2 拉取 Alist 镜像

# 拉取最新稳定版
docker pull xhofe/alist:latest

# 或拉取指定版本(以 v3.57.0 为例)
docker pull xhofe/alist:v3.57.0

验证镜像已存在:

docker images | grep alist

二、创建并运行 Alist 容器

2.1 创建数据目录(用于持久化存储)

# 创建数据存放目录(可自定义路径)
mkdir -p /etc/alist

2.2 运行容器

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

参数说明:

  • -d:后台运行
  • --name alist:容器名称
  • --restart always:容器退出时自动重启
  • -p 5244:5244:端口映射(宿主机端口:容器端口)
  • -v /etc/alist:/opt/alist/data:数据持久化(宿主机目录:容器内数据目录)

2.3 验证容器运行状态

docker ps | grep alist

三、查看管理员密码

3.1 查看初始随机密码

# 从日志中提取密码
docker logs alist 2>&1 | grep "password"

输出示例:

INFO[0000] admin user's password: 3kF8pL9x

3.2 完整日志查看

docker logs alist

3.3 手动重置密码(如需)

# 将 "你的新密码" 替换为你要设置的密码
docker exec -it alist ./alist admin set 你的新密码

四、访问与登录

  1. 打开浏览器,访问 http://你的服务器IP:5244
  2. 用户名:admin
  3. 密码:使用上面查看到的密码
  4. 首次登录后建议:点击页面底部"管理" → 左侧"个人资料" → 修改密码

五、Alist 的备份与恢复(JSON/数据库)

Alist 的所有配置、账号信息、元数据都存储在容器外挂载的数据目录中(即 /etc/alist)。

5.1 数据目录结构

ls -la /etc/alist/

主要文件:

  • data.db:SQLite 数据库(存储用户、挂载、设置等)
  • config.json:配置文件(可选)
  • log/:日志目录

5.2 完整备份数据

方法一:手动打包备份

# 先停止容器确保数据一致性
docker stop alist

# 打包整个数据目录
tar -czf alist-backup-$(date +%Y%m%d).tar.gz -C /etc/alist .

# 重新启动容器
docker start alist

方法二:使用 Alist 自带备份功能

登录 Alist 后台:

  1. 点击底部 "管理"
  2. 进入左侧菜单 "设置""备份"
  3. 点击 "创建备份"
  4. 系统会自动生成一个包含所有配置的 ZIP 文件下载

5.3 恢复备份

从手动打包恢复

# 停止容器
docker stop alist

# 清空或备份当前数据目录
mv /etc/alist /etc/alist.old
mkdir -p /etc/alist

# 解压备份到数据目录
tar -xzf alist-backup-20250306.tar.gz -C /etc/alist

# 启动容器
docker start alist

从 Alist 后台恢复

  1. 登录 Alist 后台
  2. "管理""设置""备份"
  3. 点击 "上传备份",选择之前下载的 ZIP 文件
  4. 系统会自动恢复所有配置

5.4 导出/导入 JSON 配置

Alist 支持将部分配置导出为 JSON 文件:

导出:

# 导出所有存储挂载配置
docker exec -it alist ./alist storage list > storages.json

导入:

# 从 JSON 文件导入存储挂载
docker exec -it alist ./alist storage add -f storages.json

六、日常管理命令速查

操作命令
查看容器状态`docker ps -a \grep alist`
查看实时日志docker logs -f alist
停止容器docker stop alist
启动容器docker start alist
重启容器docker restart alist
进入容器内部docker exec -it alist sh
升级 Alistdocker pull xhofe/alist:latest
docker stop alist
docker rm alist
重新运行创建容器的命令

七、注意事项

  1. 数据安全/etc/alist 目录是数据的核心,务必定期备份
  2. 文件权限:如遇权限问题,可尝试 chown -R 1000:1000 /etc/alist
  3. 端口冲突:如果 5244 被占用,修改 -p 参数的第一个数字
  4. 防火墙:确保服务器防火墙放行 5244 端口
  5. 域名访问:如需绑定域名,建议使用 Nginx 反代

已有 12 条评论

    1. Wendy Wang Wendy Wang

      本来以为部署Alist会很复杂,看完教程后发现so easy!现在已经成功把天翼云盘和阿里云盘都挂上去了,全家人都能用电视直接看网盘里的电影。有个小问题想请教:如果我想修改默认的5244端口为其他端口,只需要改`-p`参数的前面一个数字对吗?

    2. Thomas Li Thomas Li

      I appreciate the multi-language comment support! The tutorial is very well-structured. One thing I'd add is about using docker-compose for those who prefer infrastructure as code. But for beginners, the docker run command is definitely simpler. Thanks for the detailed backup instructions!

    3. Sophie Zhang Sophie Zhang

      用了半年Alist,一直是直接二进制安装,今天心血来潮想换成Docker版,正好搜到这篇文章。迁移数据的时候按照5.3节的操作,直接把旧版的data.db复制到新容器的挂载目录,重启后所有配置都在,太爽了!以后升级再也不用担心了。

    4. Ryan Chen Ryan Chen

      作为一个小白,看这篇教程真的没压力。从拉取镜像到修改密码每一步都有截图般的命令行,照着敲就行。就是有个地方卡了一下:查看初始密码的时候,我的日志里没有password这一行,后来用`docker logs alist 2>&1 | grep -i pass`才找到。建议大家可以多试试几种grep方式。

    5. Olivia Lin Olivia Lin

      I'm a bit confused about the JSON backup part. When I run `docker exec -it alist ./alist storage list`, it shows all my storages in the console but doesn't save them to a file. I realized I need to add `> storages.json` at the end to actually export. Maybe clarify that in the tutorial? Otherwise, great job!