【发布时间】:2019-04-09 04:23:26
【问题描述】:
即使经过大量材料和 SO 答案,我仍然不清楚 docker uid/用户的使用或实施。
我明白以下几点:
- 图像的实例称为容器。
- uid/gid 由底层内核维护,而不是由 Container 维护。
- 内核理解 uid/gid 编号而不是用户名/组名,并且名称是别名,仅供人类阅读。
- 所有容器都是由 docker daemon 维护的进程,并且将在主机中作为进程可见 (ps -ef)
- root (id = 0) 是容器中的默认用户,这可以通过 Dockerfile 中的 USER 指令或通过在 docker run 中传递 -u 标志来更改
综上所述,当我的 Dockerfile 中有以下命令时,我假设将创建一个新用户 (my-user),并增加 uid。
RUN addgroup my-group && adduser -D my-user -G my-group
如果我多次运行同一个映像(即多个容器)会发生什么?是否将相同的
uid分配给所有进程?如果我在另一个映像中添加相同的上述命令并将该映像作为容器运行会发生什么? - 我会得到新的
uid还是和之前一样的uid?uid增量如何在 Container 中与主机相关。
任何指针都会有所帮助。
【问题讨论】:
标签: docker containers dockerfile