摘自{strong>支持任意用户ID 部分的https://docs.openshift.org/latest/creating_images/guidelines.html#openshift-specific-guidelines。推荐用于:
USER
的图片示例:
RUN chgrp -R 0 /some/directory && \
chmod -R g=u /some/directory
RUN chmod g=u /etc/passwd
ENTRYPOINT [ "uid_entrypoint" ]
USER 1001
我不清楚这些是什么意思。
g=u
是什么意思?0
组是什么意思?我在下面的图像中指定了创建新用户和组的权限,并以该用户(非root用户)身份运行进程。这是错的吗?有人可以帮忙解释一下并提供示例吗?正确的做法是什么?
RUN useradd -M nonroot \
&& groupadd nonrootgr \
&& chown -R nonroot:nonrootgr /var/lib/myapp
USER nonroot
答案 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
的值,它必须是整数值。