网盘搭建
网盘搭建的具体流程
一.整体思路
使用 Docker 将 AList 作为一个独立容器运行,再把服务器上的真实目录挂载到容器中,作为网盘文件的实际存 储位置。之前也使用过可道云这类网盘系统,但整体感觉功能偏重、比较臃肿。对于个人服务器来说,我更希望网盘系统足够轻 量、部署简单、方便迁移。
- 使用自己的服务器存储文件
- 通过浏览器上传、下载文件
- 尽可能轻量级
- 方便迁移和备份
- 后期只需要重点备份两个目录即可
- 资源占用低
- 部署简单
- 适合个人使用
- 支持本机存储
- 支持浏览器访问
- 配合 Docker 迁移方便
二.创建 AList 数据目录
为了将 AList 配置和网盘文件保存在宿主机中,先创建两个目录:
|
|
这两个目录的作用分别是:
|
|
这样即使以后删除或重建 Docker 容器,配置和文件也不会丢失。
使用目录挂载:
将服务器目录映射到容器内部目录
这样容器删除或重建后,数据仍然保存在服务器真实目录中,不会随着容器一起丢失。
三.使用 Docker 启动 AList
执行下面命令启动 AList:
|
|
启动命令参数说明
docker run 用来创建并运行一个新的容器。
-d 表示后台运行容器。
--restart=always 表示设置容器自动重启。服务器重启后,AList 容器也会自动启动。
--name alist 表示设置容器名称为:alist
后面查看、管理、进入容器时都可以直接使用这个名字。
-p 5244:5244 表示端口映射。含义是:
服务器 5244 端口 → 容器内部 5244 端口
-v 宿主机路径:容器内路径
-v /opt/alist/data:/opt/alist/data这条命令用于挂载 AList 配置目录。
表示:
AList 的配置、数据库等信息会保存在服务器的 /opt/alist/data 中。
-v /data/pan:/data/pan这条命令用于挂载网盘文件目录。
表示:
之后通过 AList 上传的文件,就会真实保存在服务器的 /data/pan 目录中。
-e PUID=0 表示设置运行用户 ID。
这里使用 0,表示 root 用户。
-e PGID=0 表示设置运行用户组 ID。
这里使用 0,表示 root 用户组。
-e UMASK=022 表示设置文件权限掩码。
一般保持默认即可。
xhofe/alist:latest 表示使用 AList 的 Docker 镜像。
四.查看容器状态
启动完成后,可以查看容器是否正常运行:
|
|
如果看到类似下面的内容,说明容器运行成功:
|
|
设置 AList 管理员密码
AList 启动后,需要设置管理员密码。
执行:
|
|
五.AList 后台配置
六.项目结构说明
部署完成后,服务器上大致会形成下面的结构:
-
opt/
-
alist/
-
data/
- config.json
- data.db
- AList 配置和数据库文件
-
data/
-
alist/
-
data/
-
pan/
- 上传的文件/
- 创建的文件夹/
- 网盘真实数据/
-
pan/
-
var/
-
lib/
-
docker/
- containers/
- image/
- overlay2/
- volumes/
- Docker 内部数据/
-
docker/
-
lib/
/opt/alist/data
/data/pan
它们分别保存:
| 目录 | 作用 |
|---|---|
/opt/alist/data |
AList 配置、账号、数据库 |
/data/pan |
网盘中真实上传的文件 |
只要这两个目录还在,即使以后删除容器,也可以重新创建容器并恢复网盘数据。
如果以后要迁移服务器,只需要做三件事。
1. 备份两个目录
|
|
2. 在新服务器重新安装 Docker
按照前面的 Docker 安装步骤重新安装即可。
到这里,一个基于 Docker + AList 的个人网盘就搭建完成了。

七.总结
搭建核心Docker 运行 AList
宿主机目录保存配置和文件
浏览器访问完成上传和下载
最重要的两个目录是:
/opt/alist/data 负责保存 AList 配置
/data/pan 负责保存真实网盘文件
以后无论是重建容器,还是迁移服务器,只要保护好这两个目录,网盘数据就比较容易恢复。