以下内容摘自: https://github.com/OpenListTeam/OpenList/releases/tag/v4.1.1
为了更好地符合容器规范(甚至哪怕是 RedHat 的公约性质规定),从第 74 号问题开始,我们就已经开始准备对容器化使用方式的重构,涉及但不限于将 aria2 迁移为独立镜像等。
在 4.1.1 版本中,我们已移除 PUID/PGID 的运行方式,并且借鉴 MariaDB 等多个知名镜像的构建方法,通过 useradd 新增用户和用户组 openlist ( UID: 1001 ,GID: 1001 ),并以该用户身份运行 openlist server 。
新安装用户:理论上无需额外操作,开箱即用。
已有安装用户:如有权限问题,请在宿主机为该用户进行相应授权。
由于 Docker 和 Podman 在用户命名空间映射上的差异,宿主机用户与容器用户可能不完全对应。Podman 环境下,可以通过 UIDMap 或 UserNS 映射用户。
https://doc.oplist.org/guide/installation/docker
❓ 常见问题:
Q: 宿主机没有 UID 1001 的用户怎么办?
A: 不影响使用,授权时采用数字 UID 即可,无需宿主机实际存在该用户。
老用户更新后 Docker 容器直接起不来了,查日志看到是权限问题,之前一直是以 root 用户启动 Docker 容器,通过如下修改可以修复:
通过 SSH 连接到 NAS
cd [OpenList 容器的文件目录]
sudo chown 1001:1001 *
sudo chmod 755 *
![]() |
1
realpg PRO 基于 UID/GID 数字绝对值 也是神仙操作...
|
![]() |
2
fortynine 12 天前 ![]() 如果我的现有环境已经有 1001 正在用,这个咋整……
|
![]() |
3
Shura 12 天前
瞎折腾
|
4
MoeWang 12 天前 via iPhone
这次决定,就像是和 AI 聊了一会儿,然后被 AI 几个彩虹屁拍的,一拍大腿就上线了😂,直接写死 1001 。殊不知和 AI 聊天的 prompt 也是有技巧的,有些东西不提,它有时候并不会提醒你。
|
![]() |
5
Niphor 11 天前
跑的时候 直接指定 user 不就好了
|
6
idssc 11 天前 via Android
炸了 10 分钟,然后发现这个问题,然后修改了自己的 openlist cli 脚本,不管是 4.1.0 或者变异的 4.1.1 都能支持
|
7
RobinHuuu 11 天前 via Android
自己改 docker 吧,哎
|
8
hosiet 11 天前 via Android ![]() 楼上都是怎么回事?这个 1001 只是无任何参数启动时的 uid/gid 默认值,如果不想用它想用别的用户执行,那直接用 docker 自带的 user 参数指定用户可以了,只不过以往是以环境变量指定现在是用原生方式指定用户而已。什么参数都没有时总要以某个用户身份运行程序吧?难道不用 1001 用 0 ( root )?
如果我有哪里理解不对麻烦提醒我一下。 |
![]() |
9
vergilgao 4 天前
unraid 直接指定 user 99:100 就行了
相比环境变量,这种方式运行更可靠。 docker 一直以来最让人诟病的也是这种默认运行用户具有 root 权限,我之前写 dockerfile 时也经常要搞一个 su-exec 这种东西,然后通过环境变量运行程序,为了权限不出错,还得写一个 entrypoint.sh 啰里啰唆的把所有要用的文件夹 chown 一下,其实挺不好的。 |
11
THESDZ 1 天前
注意
在 v4.1.0 以后的版本中(不包含 v4.1.0 ),OpenList 镜像已经移除了 PUID 、PGID ,并借鉴于 MariaDB 的构建方式,使用 useradd 增加了用户 openlist ( UID 1001 )和组 openlist ( GID 1001 ),并使用该用户运行 openlist server 。 这意味着,您需要手动处理映射的目录的权限问题,确保容器内的 openlist(1001) 用户有权限访问映射的目录。 您也可以通过 --user UID:GID 的方式来运行容器指定容器内运行 OpenList 的用户和组,让容器内有权限访问映射的目录。 rootless 模式中的 Docker , --user 0:0 代表当前用户的 UID 和 GID 。请确保您在运行容器时,正确设置了 --user 参数,以确保文件权限的正确性。 上面摘抄自 https://doc.oplist.org/guide/installation/docker |