在Docker中运行的Jenkins文件不可见

我创build了一个非常基本的Dockerfile,它包装了官方的Jenkins Docker镜像。 我正在运行一个我的形象的实例,并遇到了以下问题:

我开始和我的形象的实例,并创build一个文件在我的实例在/ tmp目录(任何目录将工作)称为tmp.txt。 我去我的运行Jenkins实例的“脚本控制台”,并在控制台中,我input以下代码:

f = new File('/tmp/') println f.list() 

我希望看到包括我新创build的/tmp/tmp.txt文件列表,但该文件不在列表中。 这是阻碍我的问题的象征,我想从Jenkinsfile的groovy脚本中调用evaluate(),但是该文件不是脚本,对Jenkins不可见。

我的直觉是这与Docker文件系统层有关。 由于Jenkins安装在基本映像中的较低docker文件系统层上,因此无法访问在其上面运行的实例层中创build的文件。 行为似乎很奇怪,但有些可以理解。 有没有人遇到过这个问题? 如果是这样,你怎么能解决它?

 FROM jenkins ENV JAVA_OPTS="-Xmx8192m" USER root RUN mkdir /var/log/jenkins RUN chown -R jenkins:jenkins /var/log/jenkins RUN mkdir /var/cache/jenkins RUN chown -R jenkins:jenkins /var/cache/jenkins RUN useradd -ms /bin/bash jenkadm USER jenkadm WORKDIR /home/jenkadm COPY id_rsa /home/jenkadm/.ssh/ COPY id_rsa.pub /home/jenkadm/.ssh/ USER root RUN mkdir -p /opt/staples/ci-tools RUN chown jenkadm:jenkadm /opt/staples/* USER jenkins ENV JENKINS_OPTS="--handlerCountMax=300 --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war"