docker - 当文件名相同时,Docker 将 COPY 的第一个文件被 COPY 的第二个文件覆盖
问题描述
我想要一个条件COPY
,Dockerfile
但由于这个选项不存在,我遇到了这个解决方法。假设我有以下情况(文件名简化):
COPY file1.txt another_folder/file1.txt* /etc/some_folder/
如果第二个存在,第一个file1.txt
会被第二个覆盖吗?another_folder/file1.txt
因此,如果它存在,那/etc/some_folder/file1.txt
将是第一个another_folder
,否则是第一个。
两个文件名将是相同的名称但不同的内容。
为了事先说明清楚,我想要描述的行为。
解决方案
自己跑过去看看。简短的回答:是的,它可以满足您的需求
FROM alpine
COPY f1.txt t/f1.txt* /
RUN cat f1.txt
在 f1.txt 中,我输入了“aaa”。在 t/f1.txt 中,我输入了“bbb”。
构建显示“bbb”。
如果我删除 t/f1.txt,构建会显示“aaa”