gpt4 book ai didi

docker - Dockerfile中的条件复制/添加?

转载 作者:IT老高 更新时间:2023-10-28 12:33:50 25 4
gpt4 key购买 nike

在我的 Dockerfiles 中,如果存在,我想将一个文件复制到我的镜像中,pip 的 requirements.txt 文件似乎是一个不错的候选者,但是如何实现呢?

COPY (requirements.txt if test -e requirements.txt; fi) /destination
...
RUN if test -e requirements.txt; then pip install -r requirements.txt; fi

if test -e requirements.txt; then
COPY requiements.txt /destination;
fi
RUN if test -e requirements.txt; then pip install -r requirements.txt; fi

最佳答案

这是一个简单的解决方法:

COPY foo file-which-may-exist* /target

确保 foo 存在,因为 COPY 至少需要一个有效来源。

如果 file-which-may-exist 存在,它也会被复制。

注意:您应该注意确保您的通配符不会选择您不打算复制的其他文件。为了更加小心,您可以使用 file-which-may-exist? 代替(? 只匹配单个字符)。

或者更好的是,使用这样的字符类来确保只能匹配一个文件:

COPY foo file-which-may-exis[t] /target

关于docker - Dockerfile中的条件复制/添加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31528384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com