Dockerfile未将目录创建为jenkins映像的根目录
我正在尝试为jenkins构建一个docker映像,它可以自动配置服务器。我想在配置文件中使用yaml。为此,我需要为groovy grapes提供snakeyaml。这是我的docker文件Dockerfile未将目录创建为jenkins映像的根目录,docker,jenkins,groovy,dockerfile,snakeyaml,Docker,Jenkins,Groovy,Dockerfile,Snakeyaml,我正在尝试为jenkins构建一个docker映像,它可以自动配置服务器。我想在配置文件中使用yaml。为此,我需要为groovy grapes提供snakeyaml。这是我的docker文件 FROM jenkins/jenkins:2.107.3 ENV JAVA_OPTS="-Djenkins.install.runSetupWizard=false" USER root RUN mkdir -p /var/jenkins_home/files RUN mkdir -p /var/j
FROM jenkins/jenkins:2.107.3
ENV JAVA_OPTS="-Djenkins.install.runSetupWizard=false"
USER root
RUN mkdir -p /var/jenkins_home/files
RUN mkdir -p /var/jenkins_home/.groovy/grapes/org.yaml/snakeyaml/jars
RUN chown -R jenkins:jenkins /var/jenkins_home/files
RUN chown -R jenkins:jenkins /var/jenkins_home/.groovy/grapes/org.yaml/snakeyaml/jars
USER jenkins
COPY plugins.txt /usr/share/jenkins/ref/plugins.txt
RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt
COPY 03security.groovy /usr/share/jenkins/ref/init.groovy.d/03security.groovy
COPY ivy-1.21.xml /var/jenkins_home/.groovy/grapes/org.yaml/snakeyaml/ivy-1.21.xml
COPY snakeyaml-1.21.jar /var/jenkins_home/.groovy/grapes/org.yaml/snakeyaml/jars/snakeyaml-1.21.jar
COPY mainConfig.yml /var/jenkins_home/files/mainConfig.yml
COPY 03mainConfig.groovy /usr/share/jenkins/ref/init.groovy.d/03mainConfig.groovy
来自詹金斯/詹金斯:2.107.3
ENV JAVA_OPTS=“-Djenkins.install.runSetupWizard=false”
用户根
运行mkdir-p/var/jenkins_home/files
运行mkdir-p/var/jenkins_home/.groovy/grapes/org.yaml/snakeyaml/jars
运行chown-R jenkins:jenkins/var/jenkins_home/files
运行chown-R jenkins:jenkins/var/jenkins_home/.groovy/grapes/org.yaml/snakeyaml/jars
用户詹金斯
复制plugins.txt/usr/share/jenkins/ref/plugins.txt
运行/usr/local/bin/install-plugins.sh
我不知道为什么我会遇到这个问题,但当我运行构建时,我会遇到以下错误:
chown:无法访问“/var/jenkins_home/files”:没有这样的文件或目录
我在其他图像中运行过类似的命令,但没有这个问题,但它不允许我创建或访问该文件,当我排除它并尝试仅使用.groovy/grapes路径时,我会遇到相同的错误
在此方面的任何帮助都将不胜感激。另外,如果您知道一个将snakeyaml(或另一个库)加载到jenkins docker映像中的有效解决方案,那么我也希望看到它 我想这是因为/var/jenkins\u home/是音量。如果运行命令docker history jenkins/jenkins,您将看到它
<missing> 2 months ago /bin/sh -c #(nop) VOLUME [/var/jenkins_home] 0B
这意味着容器启动后,所有xml文件都将复制到/var/jenkins_home。我想这是因为/var/jenkins_home/是卷。如果运行命令docker history jenkins/jenkins,您将看到它
<missing> 2 months ago /bin/sh -c #(nop) VOLUME [/var/jenkins_home] 0B
这意味着容器启动后,所有xml文件都将复制到/var/jenkins_home中