Openshift 源到镜像构建策略

时间:2021-07-12 15:52:58

标签: docker openshift s2i

我的公司部署了一个 Openshift okd4 集群 (4.7) 以运行我们的 API 和 Web 应用程序。对于我们的构建配置,我们使用 source to image (s2i) 构建策略,以便与 gitlab 结合生成我们的自定义图像,以从中获取我们的源代码。构建自定义映像后,我们会在之后部署它。 在基于 php 的项目的构建阶段,我们使用 assemble 脚本来安装和生成我们的供应商,同时安装 Composer 和其他一些安装。

我确实在使用此策略的项目中遇到了问题。执行 assemble 脚本时,openshift 构建器切换到用户 1001,这导致在我们的构建过程中权限被拒绝,因此以下失败是构建日志:

STEP 4: USER root
STEP 5: COPY upload/scripts /tmp/scripts
STEP 6: COPY upload/src /tmp/src
STEP 7: RUN chown -R 1001:0 /tmp/scripts /tmp/src
STEP 8: USER 1001
STEP 9: RUN /tmp/scripts/assemble
chown: cannot read directory '/var/lib/mysql': Permission denied

有没有办法强制 s2i 构建器在第 8 步中保持 root 身份? 在构建配置中指定任何选项来做这样的事情? 或者有什么方法可以使用 dockerfile 策略进行类似的构建?

我试图在构建配置中指定这个标签:

  labels:
    app: build-app
    io.openshift.s2i.assemble-user: root

建设者没有考虑到这一点。

任何想法都可能有帮助

向大家致以最诚挚的问候,

0 个答案:

没有答案