Dockerfile:mkdir和COPY命令运行良好,但我看不到目录和文件

我正在使用jenkins图像来创build一个docker容器。 现在我只是想创build一个新的目录并复制一些文件。 图像生成过程运行良好,但是当我启动容器时,我看不到文件和目录。

这是我的dockerfile

FROM jenkins:2.46.1 MAINTAINER MandeepSinghGulati USER jenkins RUN mkdir /var/jenkins_home/aws COPY aws/config /var/jenkins_home/aws/ COPY aws/credentials /var/jenkins_home/aws/ 

我在这里发现了一个类似的问题,但看起来不同,因为我没有创buildjenkins用户。 它已经存在于主目录/var/jenkins_home/ 。 不知道我在做什么错

这是我如何build立我的形象,并启动容器:

 ➜ jenkins_test docker build -t "test" . Sending build context to Docker daemon 5.632 kB Step 1/6 : FROM jenkins:2.46.1 ---> 04c1dd56a3d8 Step 2/6 : MAINTAINER MandeepSinghGulati ---> Using cache ---> 7f76c0f7fc2d Step 3/6 : USER jenkins ---> Running in 5dcbf4ef9f82 ---> 6a64edc2d2cb Removing intermediate container 5dcbf4ef9f82 Step 4/6 : RUN mkdir /var/jenkins_home/aws ---> Running in 1eb86a351beb ---> b42587697aec Removing intermediate container 1eb86a351beb Step 5/6 : COPY aws/config /var/jenkins_home/aws/ ---> a9d9a28fd777 Removing intermediate container ca4a708edc6e Step 6/6 : COPY aws/credentials /var/jenkins_home/aws/ ---> 9f9ee5a603a1 Removing intermediate container 592ad0031f49 Successfully built 9f9ee5a603a1 ➜ jenkins_test docker run -it -v $HOME/jenkins:/var/jenkins_home -p 8080:8080 --name=test-container test 

如果我运行没有卷挂载的命令,我可以看到复制的文件和目录。 然而,与卷装我看不到相同的。 即使我清空主机上的目录。 这是预期的行为? 我怎样才能将文件复制到作为卷使用的目录?

  1. 现有的卷可以安装

    docker container run -v MY-VOLUME:/var/jenkins_home ...

  2. 此外, COPY的文件说明:

    所有新的文件和目录都是使用UID和GID创build的。

    所以COPY并不反映你的USER指令。 这似乎是你的问题的第二部分。