OpenShift支持任意用户ID

时间:2018-07-16 00:42:16

标签: openshift openshift-origin openshift-enterprise

摘自{strong>支持任意用户ID 部分的https://docs.openshift.org/latest/creating_images/guidelines.html#openshift-specific-guidelines。推荐用于:

  • 支持运行任意用户的图像
  • 由根组创建目录和文件的映像
  • 使用用户ID而非用户名声明USER的图片

示例:

RUN chgrp -R 0 /some/directory && \
    chmod -R g=u /some/directory
RUN chmod g=u /etc/passwd
ENTRYPOINT [ "uid_entrypoint" ]
USER 1001

我不清楚这些是什么意思。

  • 在哪里定义了用户1001?
  • g=u是什么意思?
  • 0组是什么意思?
  • 我在下面的图像中指定了创建新用户和组的权限,并以该用户(非root用户)身份运行进程。这是错的吗?有人可以帮忙解释一下并提供示例吗?正确的做法是什么?

    RUN useradd -M nonroot \
        && groupadd nonrootgr \
        && chown -R nonroot:nonrootgr /var/lib/myapp
    
    USER nonroot
    

1 个答案:

答案 0 :(得分:1)

在哪里定义了用户1001?

您需要使用该用户ID创建一个非root用户帐户。

请参阅:https://github.com/sclorg/s2i-base-container/blob/master/core/Dockerfile#L71

g = u是什么意思?

它将目录/文件的组权限设置为与用户所拥有的权限相同。

第0组是什么意思?

root组的组ID为0

我在图像中指定了以下内容。...*

有关如何添加非root用户的信息,请参见上面的链接示例。

您必须使用:

USER 1001

您不能将帐户名用作USER的值,它必须是整数值。