返回列表 发布新帖

[交流讨论] 如何获取PUID、PGID?

19 0
发表于 2025-8-26 17:38:00 | 查看全部 阅读模式 IP:–广东–深圳

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 吉伊 于 2025-8-26 17:47 编辑

在使用绿联NAS(UGOS Pro)时,为了确保Docker容器能够正确访问和管理文件系统,配置PUID(用户ID)和PGID(组ID)是非常重要的。PUID和PGID是Linux系统中的用户和组的标识符,使用这些标识符可以确保Docker容器有适当的权限来访问宿主机上的文件。
什么是PUID和PGID?
● PUID(用户ID):标识系统中的特定用户。
● PGID(组ID):标识系统中的特定用户组。
在Docker容器中运行的应用程序需要适当的文件权限来读写宿主机上的文件。通过设置PUID和PGID,可以确保这些应用程序以正确的用户身份运行,从而获得所需的权限。

为什么需要设置PUID和PGID?
1. 权限管理:确保容器内的应用程序以特定用户身份运行,防止权限错误。
2. 文件访问:确保容器内的应用程序能够正确访问宿主机上的文件目录。
3. 安全性:限制容器内的应用程序只能以特定用户权限运行,减少安全风险。

如何获取和设置PUID和PGID?
在绿联NAS上获取PUID和PGID的方法如下:
1. 登录NAS:通过SSH登录到NAS。
2. 获取用户ID(PUID):将<username>替换为您需要运行Docker容器的用户名。该命令将返回该用户的用户ID。
3. 获取组ID(PGID):同样,将<username>替换为该用户的用户名。该命令将返回该用户的组ID。
4. 假设我们有一个用户名为nasuser,通过以下命令获取其PUID和PGID。
  1. id nasuser
  2. <div># 获取用户的UID和GID值
  3. id -u nasuser
  4. # 获取用户的UID值
  5. id -g nasuser
  6. # 获取用户的GID值</div>
复制代码
5. 获得 PUID 和 PGID 值以后我们就可以使用这些ID来运行一个Docker容器。

在Docker中使用PUID和PGID
在运行Docker容器时,可以使用以下命令行参数来设置PUID和PGID:
  1. docker run -d
  2.   --name=container_name
  3.   -e PUID=<user_id>
  4.   -e PGID=<group_id>
  5.   -v /path/to/config:/config
  6.   -v /path/to/data:/data
  7.   image_name
复制代码
● -e PUID=<user_id>:设置容器运行的用户ID。
● -e PGID=<group_id>:设置容器运行的组ID。
● -v /path/to/config:/config:映射配置文件目录。
● -v /path/to/data:/data:映射数据目录。
● image_name:Docker镜像的名称。

示例
1. 下载一个远程连接的工具(例如使用 MobaXterm)。
2. 在【控制面板-终端机】中开启 SSH。
33.jpg
3. 打开mobaxterm,点击session。
34.jpg
4. 点击SSH,在 Remote host 中输入设备地址,PORT 端口输入 22。
35.jpg
5. 输入账号密码登录设备底层。
36.jpg
6. 登录之后输入sudo -i命令回车,输入密码,获取 root 权限。
37.jpg
7. 这个符号从【$】变成【#】就代表 有权限了。
38.jpg
8. 使用id + 用户名获取PUID、PGID。例如输入 id ugreen 。
39.jpg
通过上述步骤,您可以在绿联NAS上获取到正确的 PUID 和 PGID 值,通过正确设置PUID和PGID参数,可以确保Docker容器内的应用程序具有正确的权限来访问和管理宿主机上的文件,避免权限问题带来的各种麻烦。

评论

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2025 绿联NAS私有云论坛 版权所有 All Rights Reserved. 粤公网安备44030002002555号|粤ICP备12028978号
关灯 在本版发帖
联系技术支持
返回顶部
快速回复 返回顶部 返回列表