首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >设置码头集装箱时PGID/PUID与GID/UID的差异

设置码头集装箱时PGID/PUID与GID/UID的差异
EN

Server Fault用户
提问于 2019-10-01 03:40:58
回答 2查看 10K关注 0票数 3

我是Docker的新手,我已经看到一些用于运行容器化软件的文档需要指定其中任何一个来匹配特定的用户和组。所以我想知道两者有什么区别?下面的例子来说明。

Jellyfin使用UID/GID对:

代码语言:javascript
运行
复制
docker run -d \
    --name="Jellyfin" \
    --restart=always \
    --network=host \
    -p 8096:8096 \
    -e UID=1000 \
    -e GID=1000 \
    -v /media:/media \
    -v $HOME/docker/jellyfin/config:/config \
    jellyfin/jellyfin:latest

而口径-web使用PUID/PGID集:

代码语言:javascript
运行
复制
docker create --name=calibre-web --restart=always \
    -v ~/books:/books \
    -v /etc/localtime:/etc/localtime:ro \
    -e PGID=1000 -e PUID=1000 \
    -p 8081:8083 \
    technosoft2000/calibre-web

在寻找信息的时候,我甚至看到一些随机的github回收在某个时候从前者变成了后者;这两个选项之间有什么区别呢?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2019-10-01 17:36:24

我理解您的问题是:“为什么这些变量名为PUID和PGID,而不是UID和GID?”事实上,它们完全可以被命名为任何名字。Docker和Linux都不关心。是应用程序决定了如何处理它们。

进一步的搜索发现,这只是一种约定,一些应用程序会做自己的事情。例如,一次申请分别使用环境变量MAYAN_USER_UID和MAYAN_USER_GID。

票数 3
EN

Server Fault用户

发布于 2019-10-01 06:50:58

参数-e设置环境变量。在谷歌上搜索environment variable PUID产量,以及这一结果:

理解linuxserver.io上的PUID和PGID,他提供了一个码头形象的口径-网络。

引用那一页的话:

使用PUID和PGID,我们的容器可以将容器的内部用户映射到主机上的用户。我们所有的容器都使用这种用户映射方法,应该相应地加以应用。

该页的另一份说明:

我们知道最近版本的Docker引擎引入了--用户标志。我们的映像与此不兼容,因此我们建议继续使用PUID和PGID。

所以,它需要运行容器。如何实现这一点取决于这些映像的维护人员。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/986305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档