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

Dockerfile:mkdir和COPY命令运行良好,但我可以';看不到目录和文件,docker,dockerfile,Docker,Dockerfile,我正在使用jenkins图像创建docker容器。现在,我只是尝试创建一个新目录并复制几个文件。映像构建过程运行正常,但当我启动容器时,我看不到文件和目录 这是我的文件 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/je

我正在使用jenkins图像创建docker容器。现在,我只是尝试创建一个新目录并复制几个文件。映像构建过程运行正常,但当我启动容器时,我看不到文件和目录

这是我的文件

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/
我发现了一个类似的问题,但似乎有所不同,因为我没有创建
jenkins
用户。它已经存在于主目录
/var/jenkins\u home/
中。不知道我做错了什么

以下是我如何建立自己的形象并启动容器:

➜  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
如果在没有卷装载的情况下运行该命令,则可以看到复制的文件和目录。但是,对于卷装载,我看不到相同的情况。即使我清空了主机上的目录。这是预期的行为吗?如何将文件复制到用作卷的目录

  • 现有卷可以使用

    docker容器运行-v MY-VOLUME:/var/jenkins\u home…

  • 此外,缔约国:

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

    因此,
    COPY
    并不反映您的
    USER
    指令。这似乎是你问题的第二部分


  • 你怎么开始检查你的集装箱?!请为容器目录提供
    ls
    命令的
    docker build
    输出和输出
    /var/jenkins\u home/aws/
    问题似乎在于
    docker运行期间的卷装载命令。下面是我正在做的
    docker run-it-v$HOME/jenkins:/var/jenkins_HOME-p 8080:8080--name=test container test
    ,我正在装载的卷已经包含一些文件。如何使用现有卷并确保copy命令添加新文件?