[i=s] 本帖最后由 FlashSoft 于 2025-3-4 23:46 编辑 [/i]<br />
<br />
在使用 Docker 时,我发现了一个与文件权限相关的问题,这个问题在论坛中也有用户提到过:
https://club.fnnas.com/forum.php?mod=viewthread&tid=6963&page=1
问题描述
当我们在飞牛系统中编辑 Docker 容器的配置文件时,这些文件的所有权会自动设置为当前登录用户(UID:GID 为 1000:1000)。然而,许多 Docker 镜像默认使用不同的用户运行(例如 Prometheus 使用 nobody:nogroup),这就导致容器无法正常访问这些配置文件。
解决方案
1. 支持 PUID/PGID 环境变量的镜像
- 适用于 linuxserver.io 的镜像
- 只需设置环境变量 PUID=1000 和 PGID=1000 即可解决
2. 不支持环境变量设置的镜像
以 Prometheus 为例,需要按以下步骤操作:1. 使用 docker inspect <容器ID> 获取当前配置
- 将配置转换为 docker run 命令
- 添加 --user 1000:1000 参数
- 删除原容器并使用新命令重新创建
建议
考虑在飞牛系统的 Docker 管理界面中添加一个用户权限设置选项,让用户可以直接指定容器运行时的用户身份。这样可以简化操作流程,提升用户体验。
以上是我的一些想法,供参考。 |