运行用户ID与Dockerfile中的用户不匹配的OpenShift Pod [英] Openshift pod runnning with user id not matching with user in Dockerfile

查看:30
本文介绍了运行用户ID与Dockerfile中的用户不匹配的OpenShift Pod的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们在Dockerfile和入口点shell脚本中有";default";用户,它们需要在运行时执行。当我们将其部署到OpenShift集群(4.6)中时,Pod有不同的用户,并且由于这个入口点shell脚本失败,所以应用程序没有出现。要求您建议如何使用POD中的用户执行这些shell脚本

OpenShift

推荐答案提供安全上下文约束来控制Pod的权限。通过它们,您可以控制Pod或容器集合可以执行的权限/操作,以及它们可以访问哪些资源。 SCC允许管理员控制的几项内容:

  • Pod是否可以运行特权容器。
  • 容器的SELinux上下文。
  • 容器用户ID。
  • 分配拥有Pod卷的FSGroup
  • 允许的补充组的配置。
  • 容器是否需要使用只读根文件系统。
  • 卷类型的用法。
SCC由控制Pod有权访问的安全功能的设置和策略组成。如果我正确理解了您的问题,您想检查RunAsUser策略:

  1. MustRunAs-需要配置runAsUser。使用配置的runAsUser作为默认值。根据配置的runAsUser进行验证。

  2. MustRunAsRange-如果不使用预先分配的值,则需要定义最小值和最大值。使用最小值作为默认值。对照整个允许范围进行验证。

  3. MustRunAsNonRoot-需要使用非零runAsUser提交实例或在镜像中定义USER指令。未提供默认值。

  4. RunAsAny-未提供默认值。允许指定任何runAsUser

有关详细信息,请查看official openshift docs

这篇关于运行用户ID与Dockerfile中的用户不匹配的OpenShift Pod的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆