无法创建目录“/home/jenkins/.m2”:权限被拒绝

Jon*_*Jon 2 jenkins docker dockerfile devops

我有一个带有以下 mkdir 命令的 docker 文件。

RUN mkdir /home/jenkins/.m2
Run Code Online (Sandbox Code Playgroud)

在构建 docker 映像时,我收到以下错误。

 mkdir: cannot create directory '/home/jenkins/.m2': Permission denied
Run Code Online (Sandbox Code Playgroud)

下面是我的 dockerfile 的样子:

FROM ubuntu:18.04

ENV REPOSITORY_PATH /home/jenkins/test
ENV JBOSS_HOME /home/jenkins
ENV SEDI_TOOLS_HOME /home/jenkins/install/tools

RUN mkdir /home/jenkins/Application
COPY --chown=jenkins:jenkins  .  /home/jenkins/Application/

RUN chmod ugo+x /home/jenkins/Application/ApplicationParent/build_Application/wildfly.sh

WORKDIR /home/jenkins/Application/ApplicationParent/build_Application
COPY --chown=jenkins:jenkins  ./ApplicationParent/build_Application/.jboss-cli.truststore  /home/jenkins/

WORKDIR /home/jenkins/Application/ApplicationParent/build_Application


USER jenkins

RUN mkdir /home/jenkins/.m2
CMD ["/home/jenkins/maven/apache-maven-3.3.9/bin/mvn","package","-DskipTests"]
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?

谢谢。

Jon*_*Jon 5

在 dockerfile 中创建一个新的 use jenkins 来解决此权限问题,如下所示:

# Create new jenkins user
RUN adduser --gecos "" --disabled-password --quiet jenkins
RUN echo "jenkins:jenkins" | chpasswd
Run Code Online (Sandbox Code Playgroud)

并将目录 /home/jenkins 的权限更改为用户 jenkins ,如下所示:

RUN chown jenkins:jenkins /home/jenkins
Run Code Online (Sandbox Code Playgroud)