首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache用户从openshift构建中的图像中删除- whoami错误

Apache用户从openshift构建中的图像中删除- whoami错误
EN

Stack Overflow用户
提问于 2021-04-20 17:54:41
回答 1查看 153关注 0票数 0

我一直在把一个项目从库贝转移到openshift。在minikube,这个项目工作得很好,但在微小的时间内,它就会产生误差。

代码语言:javascript
复制
 — Crash loop back off 

这是小圆木上的

代码语言:javascript
复制
[WARN] $TIMEZONE not set.
[INFO] Docker date set to: Tue Apr 20 17:39:02 UTC 2021
[INFO] $PHP_FPM_ENABLE not set. PHP-FPM support disabled.
[INFO] $CUSTOM_HTTPD_CONF_DIR not set. No custom include directory added.
[INFO] Starting Server version: Apache/2.2.15 (Unix)
whoami: cannot find name for user ID 1000140000

这是相关的deployment.yaml

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    kompose.cmd: kompose convert
    kompose.version: 1.22.0 (HEAD)
  creationTimestamp: null
  labels:
    io.kompose.service: occtool
  name: occtool
spec:
  replicas: 1
  selector:
    matchLabels:
      io.kompose.service: occtool
  strategy: {}
  template:
    metadata:
      annotations:
        kompose.cmd: kompose convert
        kompose.version: 1.22.0 (HEAD)
      creationTimestamp: null
      labels:
        io.kompose.network/backend: "true"
        io.kompose.network/frontend: "true"
        io.kompose.service: occtool
    spec:
      containers:
        - image: private.registry.com/image:tag
          imagePullPolicy: IfNotPresent
          name: occtool
          ports:
            - containerPort: 80
            - containerPort: 443
          resources: {}
      restartPolicy: Always
status: {}

这是Dockerfile

代码语言:javascript
复制
FROM cytopia/apache-2.2:0.9
# lines that copied files were omitted for convenience
USER root

我没有找到多少相关的信息。USER root最初被省略了,所以用户是apache。使用minishift ssh和docker exec,我注意到用户apache并不存在于容器中,但是在构建映像时,我无法运行命令来创建用户,因为用户确实存在于映像中。我相信这是问题的基础,但我还没有找到在openshift中创建用户的方法,也不知道在构建结荚时为什么删除用户。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-20 18:10:04

OpenShift忽略来自Dockerfile的USER-directive,而是为容器中的用户生成一个随机的UID。这背后有一些关于安全的想法。

来自OpenShift 文档

默认情况下,支持任意用户ID (),OpenShift容器平台使用任意分配的用户ID运行容器。这为由于容器引擎漏洞而逃避容器的进程提供了额外的安全性,从而实现了对主机节点的权限升级。若要支持以任意用户身份运行的映像,映像中的进程可能写入的目录和文件应属于根组,并由该组读取/写入。要执行的文件也应该具有组执行权限。

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

https://stackoverflow.com/questions/67183992

复制
相关文章

相似问题

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