Docker Compose 部署 Alist 完整教程 1
Alist Docker Compose 部署教程
本教程基于 AList 3.x(最新正式版),使用 Docker Compose 在 Linux/Windows 的 Docker 环境下实现快速、可持续的部署。
参考文档:
- AList 主页(中文)[1]
- 官方安装指南[6]
- V3 版本说明[9]
- GitHub 仓库[3]
1️⃣ 前置准备
| 步骤 | 说明 | 参考 |
|---|---|---|
| 1. 安装 Docker | 若尚未安装,请先安装 Docker Engine(Desktop 或 Engine) | |
| 2. 安装 Docker Compose | 版本 ≥ 1.29 或使用 docker compose 插件 |
|
| 3. 建立工作目录 | 建立一个专用于 Alist 的目录,例如 ~/alist |
|
mkdir -p ~/alist
cd ~/alist`
2️⃣ 写入 docker‑compose.yml
将以下内容复制到 ~/alist/docker-compose.yml(如已提供的文件)。
重要:锁定镜像版本,防止意外更新导致兼容性问题。
YAML
services:
alist:
image: xhofe/alist:v3.40.0 # 关键:锁定安全版本【3】
container_name: alist
volumes:
- ./alist:/opt/alist/data # 持久化文件与配置
ports:
- 5244:5244 # 访问端口,支持自定义
environment:
- PUID=0 # 运行用户(根) 建议非 root 运行时更改
- PGID=0 # 运行组
- UMASK=022 # 文件权限
restart: unless-stopped
注意
./alist目录是宿主机的相对路径,用来保存 Alist 的数据库与配置。- 端口
5244是默认端口,若已有同端口占用,可自行修改。PUID/PGID需要根据宿主机的用户 ID 与组 ID 设置;最安全做法是使用非 root 用户。
3️⃣ 启动 Alist
BASH
cd ~/alist
docker compose up -d
-d代表后台执行。
第一时间可以查看日志验证启动成功:
BASH
docker compose logs -f alist # 持续查看日志
当日志中出现 Listening on http://0.0.0.0:5244 时,即表示服务已上线。
4️⃣ 访问 & 账号初始化
-
浏览器访问
TEXT
http://<宿主机IP>:5244
第一次访问会弹出账号创建页面,默认邮箱为空,记得设置强密码。
- API 交互
Alist 提供 RESTful 接口,可在后续脚本或工具中使用。参考官方 API 文档(在docs/api)【9】。
5️⃣ 常用维护操作
| 操作 | 命令 | 说明 |
|---|---|---|
| 查看服务状态 | docker compose ps |
|
| 重启服务 | docker compose restart alist |
|
| 停止服务 | docker compose down |
|
| 清理旧镜像 | docker image prune -a |
6️⃣ 生产环境推荐配置
| 目标 | 推荐做法 | 说明 |
|---|---|---|
| HTTPS | 通过 Nginx 或 Caddy 反向代理,使用 Let’s Encrypt 自动证书 | 与 Alist 本身没有 HTTPS,需代理实现安全访问 |
| 备份 | 定期备份 ./alist/data 目录 |
保证配置与数据库不丢失 |
| 防火墙 | 仅开放 5244(或自定义端口) | 防止外网直接访问 |
| 监控 | 使用 Prometheus + Grafana 监控 Docker | 观察容器健康状态 |
| 版本控制 | 将 docker-compose.yml 保存在 Git 仓库 |
配合 CI/CD 自动升级 |
7️⃣ 常见问题排查
| 问题 | 解决思路 |
|---|---|
| 镜像拉取失败 | 检查网络、使用镜像镜像源(如阿里云 registry.cn-hangzhou.aliyuncs.com)docker pull registry.cn-hangzhou.aliyuncs.com/xhofe/alist:v3.40.0 |
| 权限错误 | 确认宿主机 ./alist 目录的属主与 PUID/PGID 匹配 |
| 端口冲突 | 改 docker-compose.yml 中的 ports 部分,映射到其它空余端口 |
| 数据不保留 | 确保 ./alist 挂载路径存在且可写,容器内写入 /opt/alist/data |
8️⃣ 下一步探索
- 多存储插件:Alist 支持 S3、WebDAV、SMB 等,可在后台管理页面配置。
- 文件分享:使用 Alist 提供的分享链接、二维码等功能。
- API 自动化:结合 Cron、CI/CD 实现文件同步与自动部署。
祝你使用愉快 🚀
参考链接
- AList 主页(中文)https://alistgo.com/zh/
- 官方安装指南https://alistgo.com/zh/guide/install/
- GitHub 仓库(镜像信息)https://github.com/AlistGo/alist
- V3 版本说明https://alist-go.pages.dev/zh/guide/
- 多存储与功能介绍https://zhuanlan.zhihu.com/p/662035279