【发布时间】:2021-05-26 23:18:34
【问题描述】:
我有一个 Dockerfile:
FROM jenkins/jenkins:lts-centos
USER jenkins
ENV PLUGIN_DIR=$JENKINS_HOME/plugins
RUN mkdir $JENKINS_HOME/plugins
RUN ls -aliF $JENKINS_HOME/
这导致没有文件夹 plugins 存在。
使用 root 用户时的结果相同。
解决方法是使用 WORKDIR:
FROM jenkins/jenkins:lts-centos
USER jenkins
WORKDIR $JENKINS_HOME/plugins
RUN chown jenkins:jenkins $JENKINS_HOME/plugins
RUN ls -aliF $JENKINS_HOME/
但它会导致 plugins 文件夹属于 root。
35539281 drwxr-xr-x 2 root root 6 月 26 日 21:45 插件/
与用户 root 相同:
FROM jenkins/jenkins:lts-centos
USER root
WORKDIR $JENKINS_HOME/plugins
RUN chown jenkins:jenkins $JENKINS_HOME/plugins
RUN ls -aliF $JENKINS_HOME/
35539493 drwxr-xr-x 2 root root 6 May 26 21:52 plugins/
jenkins/jenkins:lts-centos 使用 $JENKINS_HOME 作为 VOLUME。
这会以某种方式阻止创建具有自定义所有权或权限的文件夹。
关于如何解决这个问题的任何想法?
【问题讨论】:
标签: docker jenkins dockerfile