用 Docker 跑 OpenList:镜像选择、端口映射与数据目录一条龙
Docker 是 NAS 和服务器用户最常用的部署方式:升级只需换镜像,备份只需备映射目录。
最小可用命令
装好 Docker 后,创建数据目录并启动容器:
mkdir -p /etc/openlist
sudo chown -R 1001:1001 /etc/openlist
docker run -d --restart=unless-stopped -v /etc/openlist:/opt/openlist/data -p 5244:5244 -e UMASK=022 --name="openlist" openlistteam/openlist:latest
命令逐段拆开看:
-v /etc/openlist:/opt/openlist/data:把宿主机的/etc/openlist映射为容器数据目录,配置、数据库全在里面,升级不丢数据靠的就是它-p 5244:5244:Web 界面端口--restart=unless-stopped:开机或崩溃后自动拉起--name="openlist":容器名,后面查看日志、重置密码都要用
关于用户权限(v4.1.0 后的变化)
v4.1.0 之后的镜像移除了 PUID、PGID 环境变量,改为内置用户 openlist(UID/GID 1001)运行程序。因此要么像上面那样把映射目录的所有权改成 1001,要么用 --user $(id -u):$(id -g) 让容器以你当前用户运行。老教程里 -e PUID=0 -e PGID=0 的写法对新版镜像已失效。
常用环境变量
| 变量 | 说明 |
|---|---|
UMASK | 文件权限掩码,默认 022 |
TZ | 时区,如设为 Asia/Shanghai 让日志时间正确 |
RUN_ARIA2 | 是否同时运行 aria2,镜像内预装时默认开启 |
OPENLIST_ADMIN_PASSWORD | 直接指定管理员密码,省去翻日志 |
挑镜像:后缀决定预装环境
- 稳定版用
latest,开发尝鲜用beta latest-aio:全家桶(ffmpeg + aria2 都有)latest-ffmpeg:带 ffmpeg,本地存储缩略图需要它latest-aria2:带 aria2,离线下载需要它latest-lite:精简版,部分限制镜像 100MB 的 PaaS 平台必须用它
首次启动与密码
docker logs openlist
在输出里找到初始密码(详见 安装方式怎么选)。之后忘记密码时:
docker exec -it openlist ./openlist admin random
docker exec -it openlist ./openlist admin set 你的新密码
跑起来之后,多容器编排、Watchtower 自动更新等进阶玩法见 Docker Compose 编排与升级。