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)
有人可以帮我解决这个问题吗?
谢谢。
在 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)
归档时间: |
|
查看次数: |
7169 次 |
最近记录: |