Docker将所有文件夹文件添加到现有文件夹而不进行替换

Docker将所有文件夹文件添加到现有文件夹而不进行替换,docker,dockerfile,Docker,Dockerfile,如何将文件夹文件复制到docker已存在的文件夹中,而无需替换文件 Example: locally |-- demo | -- file3.txt | -- file4.txt docker |-- app | -- src | -- file1.txt | -- file2.txt 可以通过运行COPY demo/file3.txt app/src/file3.txt来完成,但如果存在多个副本,这并不是一种很好的解决方法。命令应该可以工作,复制时不需要指

如何将文件夹文件复制到docker已存在的文件夹中,而无需替换文件

Example:

locally
|-- demo
|   -- file3.txt
|   -- file4.txt

docker
|-- app
|   -- src
|      -- file1.txt
|      -- file2.txt
可以通过
运行COPY demo/file3.txt app/src/file3.txt
来完成,但如果存在多个副本,这并不是一种很好的解决方法。

命令应该可以工作,复制时不需要指定完整路径和文件名

下面是一个示例,我想将
demo
文件夹中的所有文件复制到容器的
/app/src
文件夹中

/ # [node1] (local) root@192.168.0.23 ~
$ cat Dockerfile 
FROM alpine
RUN mkdir -p /app/src
RUN touch /app/src/file1.txt
RUN touch /app/src/file2.txt
COPY demo/* /app/src/
[node1] (local) root@192.168.0.23 ~
$ ls demo/
file3.txt   file4.txt   fileabc.sh  filexyz.py
[node1] (local) root@192.168.0.23 ~
$ docker build -t myimage:v1 .
$
[node1] (local) root@192.168.0.23 ~
$ docker run -it --rm myimage:v1 ls -ltrh /app/src/
total 0      
-rw-r--r--    1 root     root           0 Aug 17 11:40 file3.txt
-rw-r--r--    1 root     root           0 Aug 17 11:40 file4.txt
-rw-r--r--    1 root     root           0 Aug 17 11:40 file1.txt
-rw-r--r--    1 root     root           0 Aug 17 11:40 file2.txt
-rw-r--r--    1 root     root           0 Aug 17 11:47 filexyz.py
-rw-r--r--    1 root     root           0 Aug 17 11:47 fileabc.sh
[node1] (local) root@192.168.0.23 ~
$ 

希望这有帮助。

非常感谢,是的,它很有效。但是可以复制文件夹吗?现在,文件夹中的所有文件都是在没有文件夹的情况下复制的。换句话说,要有文件夹层次结构是的,您可以将文件夹复制到
copy demo/app/src/demo
我想将包括文件夹层次结构在内的演示文件复制到src文件,而不是像您在回答中所写的那样将其替换。它不需要替换即可工作